我已经使用 imageView 创建了我的自定义首选项布局。
<Preference
...
android:key="pref_custom"
android:layout="@layout/preference_layout"
>
在 onCreate 我自己的 PreferenceActivity 中,我想更改我的 CustomPreference ImageView。
问题是下面的代码总是返回 null。
imageViewSmallContact = (ImageView) findViewById(R.id.ImageViewSmallContact);
我只能在OnPreferenceClickListener.onPreferenceClick
我的 pref_custom Preference 方法中找到这个 ImageView。
在我的 onCreate 方法中的类 ConfigureActivity(扩展 PreferenceActivity)中,我只有“:
...
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
updatePreferenceView(); // here I update all my preferences `
...
在我的 PreferenceActivity onCreate 方法中,我阅读了我的偏好
Preference pref= findPreference("pref_phone_");
比我想在这个首选项的自定义布局中更改图像。
imageViewSmallContact = (ImageView) findViewById(R.id.ImageViewSmallContact);
这里 imageViewSmallContact 返回 null。
然后在这个偏好中我注册 OnPreferenceClickListener
在 onPreferenceClick 里面 findViewById(R.id.ImageViewSmallContact); 返回正确的值。
我的问题是:
如何初始化此布局以从我的 PreferenceActivity 获取 imageView ?