簡體   English   中英

如何顯示和隱藏類別中的首選項?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM