0

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

示例:ImageButton 以 Android.png 开头(从默认 xml 页面加载) 用户输入文本 ImageButton 更改为 Correct.png

下次加载应用程序时,我希望显示 Correct.png 而不是 Android.png。有没有办法在应用程序启动之前遍历 ImageButtons(按钮不是以编程方式创建的)以在应用程序加载之前为每个按钮设置源值?

4

2 回答 2

0

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

因此,例如:

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

您可以为该复选框加载一个drawable,以便您只执行一次,这样效率更高,或者您可以将ImageResource 设置为R.drawable.correct,这会慢一些,因为我假设该复选框可能会设置为多个图像。

于 2012-12-19T19:09:59.353 回答
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");
于 2012-12-19T20:41:15.740 回答