私は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感謝。プログラムによってEntryとEntryValuesの異なるセットをロードする方法はありますか? 私は、listPref.setEntries()とlistPref.setEntryValues()を使用することを意味しますが、CharSequence []ではなくXMLからのものです。 –
nm、見つかりました:) –