2012-12-19 38 views
0

我有一个android应用程序,默认显示一系列使用xml的ImageButton。用户根据他们的输入更改图像。我正在尝试在用户下次加载应用程序时显示已更改的ImageButton。在应用程序加载时更改默认的xml图像

实施例: 的ImageButton开始作为Android.png(从默认的xml页面加载) 用户输入文本的下一次 的ImageButton被改变为Correct.png

,所述应用程序加载我想Correct.png显示而不是Android.png。有没有一种方法可以在应用程序启动之前遍历ImageButtons(按钮不是以编程方式创建的),以便在应用程序加载之前为每个按钮设置源值?

回答

0

您可以对每个按钮使用findViewById(R.id.button_1)并根据需要进行设置。然后,您需要存储应该具有的值,以便可以加载这些值并为每个值设置ImageButton源。您可以使用SharedPreferences或SQLite数据库来存储它,具体取决于您需要更改多少。

因此,举例来说:

ImageButton b = (ImageButton)findViewById(R.id.button_1); 
b.setImageDrawable(drawable); 

可以加载绘制了对复选框,这样你做它只有一次,这是更有效的,或者你可以setImageResource到R.drawable.correct,这会有点慢,因为我认为复选框可能会设置为多个图像。

0

使用SharedPreferences执行此操作的更好方法。

SharedPreferences sharedPref = getSharedPreferences("userpref", Activity.MODE_PRIVATE); 

String image = pref.getString("userchoice","no-image"); 

if(image.equeals("no-image") 
{ 
    imageView.setBackgroundResource(R.drawable.android); 
} 
else 
{ 
    //compare here your image 
    imageView.setBackgroundResource(R.drawable.Correct); 
} 

每当用户选择的任何其他图像,只需使用下面的代码编辑preference文件。

SharedPreferences.Editor editor = pref.edit(); 
editor.putString("userchoice","Correct.png"); 
相关问题