Ho CheckBoxPreference e altri 2: uno è Modifica pref. Test. e un altro è ListBox Pref. Come posso abilitare prefisso di casella e disabilitare modificare il testo pref. quando CheckBoxPreference è attivato?Android CheckBoxPreference: come disabilitare e abilitare altre preferenze sulla modifica delle preferenze
9
A
risposta
31
Sembra che sia duplicato this question
È possibile ignorare public void onSharedPreferenceChanged(final SharedPreferences sharedPreferences, final String key)
e quando vieni chiamato con key.equals(<Your key for setting>)
fare qualcosa di simile:
boolean isEnabled = sharedPreferences.getBoolean(key, true);
getPreferenceScreen().findPreference("list box preference key").setEnabled(isEnabled);
getPreferenceScreen().findPreference("list box preference key").setEnabled(!isEnabled);
Inoltre, lo stesso in onCreate()
di avere tue preferenze schermo corretta configurazione iniziale .
3
È possibile ottenere il valore della casella di controllo. E poi, per abilitare/disabilitare le preferenze, è possibile utilizzare pref.setEnabled(false);
Per abilitare, basta usare la stessa funzione e inserire il valore vero.
24
Come variante, è possibile inserire la "dipendenza" in ListBoxPref.
<PreferenceCategory
android:key="key1"
android:title="@string/title1">
<SwitchPreference
android:key="parents"
android:summaryOff="@string/do_smthng"
android:summaryOn="@string/do_smthng"
android:switchTextOff="@string/i_am_sleeping"
android:switchTextOn="@string/i_have_free_time" />
<CheckBoxPreference
android:key="baby"
android:dependency="parents"
android:title="@string/basic_habbits"
android:summaryOff="@string/play_with_parents"
android:summaryOn="@string/play_with_parents"
android:defaultValue="true" />
</PreferenceCategory>
In sostanza, il bambino non può giocare con i genitori quando sono dormendo =)
Sei sir impressionante! – Mohamed
Esattamente quello che stavo cercando ... Avevo disabilitato l'uso nel mio codice, ma avevo bisogno di mostrare all'utente che sono disabilitati in modo che possano accenderlo. – ShadowZzz