我生成一個基於xml(entries和entryValues)的listPreference對話框。Android:ListPreference隱藏/禁用值
<string-array name="listArray">
<item>Title (A-Z)</item>
<item>Title (Z-A)</item>
<item>Visits (default)</item>
<item>Date</item>
<item>Manual</item>
</string-array>
<string-array name="listValues">
<item>titleASC</item>
<item>titleDESC</item>
<item>visitsSort</item>
<item>createSort</item>
<item>manualSort</item>
</string-array>
我想基於一些其他參數來隱藏/禁用一些條目(例如:手動)。
我的理解應該是這樣的範圍內:
Preference sorted = (Preference) findPreference(OPT_SORT);
sorted.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
if (params) {
What should i put here to hide/disable some of the entries?
}
return true;
}
});
謝謝!
EDIT:
我發現最好的解決辦法是加載一組不同的條目和EntryValues的。 偏好類(的onCreate):
ListPreference sortBy = (ListPreference) findPreference(OPT_SORT);
if (isTabletDevice()) {
sortBy.setEntries(getResources().getStringArray(R.array.HClistArray));
sortBy.setEntryValues(getResources().getStringArray(R.array.HClistValues));
}
希望這有助於任何人! :)
OK感謝。以編程方式加載一組不同的Entries和EntryValues的方法? 我的意思是使用listPref.setEntries()和listPref.setEntryValues(),但是來自XML而不是CharSequence []。 –
nm,找到它:) –