在应用程序加载时更改默认 xml 映像



我有一个安卓应用程序,默认情况下,它使用 xml 显示一系列 ImageButtons。用户根据其输入更改图像。我正在尝试在下次用户加载应用程序时显示更改的图像按钮。

例:ImageButton以Android.png启动(从默认xml页面加载)用户输入文本图像按钮更改为"正确.png

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

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

因此,例如:

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

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

使用 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");

最新更新