Настройки флажка Android и дополнительные параметры

Можно ли настроить параметры флажка Android или список параметров, чтобы добавить больше или меньше элементов на экран настроек? Если да, то как я могу этого достичь?

Например, у меня есть простой макет:

<ListPreference
    android:key="wallpaper-type"
    android:title="Choose Wallpaper Style"
    android:entries="@array/wpType"
    android:entryValues="@array/wpTypeValues"
    />

в этом списке 3 варианта. Я бы хотел, чтобы при выборе варианта 1 у вас был другой выбор пунктов меню, которые вы можете выбрать, потому что каждый пункт имеет разные параметры, которые пользователь может обновлять.

Точно так же, если у меня есть этот вариант:

<CheckBoxPreference
    android:key="enable_brightness"
    android:title="Enable Brightness Tap Menu"/>

поэтому, если пользователь нажмет на этот флажок, в представление может быть добавлено другое меню настроек.

Возможно, я делаю все это неправильно и должен изменить способ структурирования своих представлений и параметров, или возможно, чтобы динамические параметры заполнялись предпочтительно из xml.


person user1610950    schedule 11.09.2015    source источник


Ответы (1)


Стандартный способ сделать это — определить android:dependency. Недоступный параметр отображается как отключенный, а не исчезнувший.

Кроме того, если вы используете предпочтение, вы хотели бы сохранить его в SharedPreference, установив android:persistent="true"

Вот образец

    <CheckBoxPreference
            android:title="@string/show_notifications_title"
            android:key="show_notifications"
            android:persistent="true"
            android:defaultValue="true"/>
    <CheckBoxPreference
            android:title="@string/show_file_size_error_title"
            android:key="show_file_size_error"
            android:dependency="show_notifications"
            android:persistent="true"
            android:defaultValue="true"/>
person Derek Fung    schedule 11.09.2015
comment
это именно то, что мне было нужно, спасибо! Также спасибо за настойчивый совет, который спас меня от отладки в будущем! - person user1610950; 11.09.2015