[英]How to show and hide a preference from category?
我遇到了一個問題。 在設置菜單中,我有一個CheckboxPreference和另一個Preference。 它們在同一類別中。 我想要:選中復選框時,出現“首選項”(位於下面)。 取消選中復選框后,首選項將消失。 我不知道什么是最好的方法。 所以我嘗試這樣:-首先:找到PreferenceCategory。 -要隱藏首選項:將其從“類別”中刪除。 -要顯示首選項:將其添加到“類別”。
偏好在刪除后立即消失。 但是添加后什么也沒出現。 有誰能夠幫助我?
假設您使用的是PreferenceFragment:
首先,您可以通過以下方式在onResume中找到CheckBoxPreference和其他Preference:
CheckBoxPreference cb = (CheckBoxPreference) findPreference('CHECKBOX_PREF_KEY');
OtherPreference otherPref = (OtherPreference) findPreference('OTHER_PREF_KEY');
現在,您在cb
上設置了OnPreferenceChangeListener
,然后通過以下方式禁用/啟用偵聽器中的其他首選項:
if (!cb.isChecked()) {
if (otherPref != null){
getPreferenceScreen().removePreference(otherPref);
}
} else {
if (otherPref == null) {
otherPref = new OtherPref();
otherPref.inti...
getPreferenceScreen().addPreference(otherPref);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.