我有一个Android应用程序,默认情况下显示一系列使用xml的ImageButtons。用户根据输入更改图像。我试图在用户下次加载应用程序时显示更改的ImageButtons。
实施例: ImageButton以Android.png开头(从默认的xml页面加载) 用户输入文字 ImageButton更改为Correct.png
下次应用程序加载时我想要显示Correct.png而不是Android.png。有没有办法在应用程序启动之前迭代ImageButtons(按钮不是以编程方式创建的),以便在应用程序加载之前为每个按钮设置源值?
答案 0 :(得分:0)
您可以为每个按钮使用findViewById(R.id.button_1)并根据需要进行设置。然后,您需要存储它应具有的值,以便您可以加载这些值并为每个值设置ImageButton源。您可以使用SharedPreferences或SQLite数据库存储它,具体取决于您需要更改的数量。
所以,例如:
ImageButton b = (ImageButton)findViewById(R.id.button_1);
b.setImageDrawable(drawable);
你可以为复选框加载一个drawable,这样你只做一次,效率更高,或者你可以将setImageResource设置为R.drawable.correct,这会慢一点,因为我认为复选框可能会设置为多个图像。
答案 1 :(得分: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");