我正在尝试在应用中进行设置,特别是ListPreference,以便能够更改应用的背景动画,但我无法做到,如果您选择选项1或选项2,则没有任何更改。我遵循了一个类似的教程并尝试让它适合我,但到目前为止还没有。 这是java
SharedPreferences backChooser = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
String values = backChooser.getString("list", "1");
img = (ImageView) findViewById(R.id.imageView1);
img.setBackgroundResource(R.drawable.anim1);
animation = (AnimationDrawable) img.getDrawable();
animation.start();
if (values.contentEquals("1")) {
img.setBackgroundResource(R.drawable.anim1);
animation = (AnimationDrawable) img.getDrawable();
animation.start();
}
if (values.contentEquals("2")) {
img.setBackgroundResource(R.drawable.anim2);
animation = (AnimationDrawable) img.getDrawable();
animation.start();
}
,这是首选项的xml
<?xml version="1.0" encoding="utf-8"?>
<ListPreference
android:entries="@array/list"
android:entryValues="@array/listvalues"
android:key="list"
android:summary="This is a list to choose from"
android:title="List" />
答案 0 :(得分:0)
这行代码
img.setBackgroundResource(R.drawable.anim1);
设置ImageView的“背景”。
就像这段代码一样
img.getDrawable();
获取ImageView的“Drawable”或其上的图像,而不是实际的“背景”图像。
由于您要检索曾经设置为“img”BG的图像,此代码
img.getBackground();
是你需要的那个。