我用imageView創建了我的自定義首選項佈局。如何初始化我自己的首選項佈局?
<Preference
...
android:key="pref_custom"
android:layout="@layout/preference_layout"
>
在我自己的PreferenceActivity裏面onCreate我想改變我的CustomPreference ImageView。
問題是下面的代碼總是返回null。
imageViewSmallContact = (ImageView) findViewById(R.id.ImageViewSmallContact);
我只能內部OnPreferenceClickListener.onPreferenceClick
方法我pref_custom偏好找到這個ImageView的。
在我的課ConfigureActivity(擴展PreferenceActivity)在onCreate方法我只有 「:
...
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
updatePreferenceView(); // here I update all my preferences `
...
在我PreferenceActivity onCreate方法我讀我的偏好
偏好PREF = findPreference(」 pref_phone_「);
比我想改變形象在這一偏好我的自定義佈局。
imageViewSmallContact = (ImageView) findViewById(R.id.ImageViewSmallContact);
此處imageViewSmallContact返回null。
然後,在此偏好我寄存器OnPreferenceClickListener
內部onPreferenceClick findViewById(R.id.ImageViewSmallContact);返回正確的值。
我的問題是:
如何初始化此佈局以從我的PreferenceActivity獲取imageView?
你能爲你的活動添加一些代碼嗎?我懷疑你正在嘗試在調用setContentView之前訪問視圖。 – koljaTM
我已更新說明。 我認爲PreferenceActivity中的setcontentview設置活動不是我的自定義首選項 –
你檢查了http://stackoverflow.com/questions/7846855/android-how-to-set-custom-layout-for-preferenceactivity-in-android-3 -0? – koljaTM