Cambiar el resumen de CheckBoxPreference basado en el estado marcado
Estoy tratando de crear una aplicación donde el resumen de preferencias cambia en función del estado de CheckBoxPreference
.
No estoy muy seguro de cómo consultar las preferencias ya que un buen viejo isChecked()
no funcionará.
- Android setOnCheckedChangeListener vuelve a llamar cuando la vista anterior vuelve
- El elemento compatible con Android PopupMenu no se comprueba
- Lista personalizada haciendo clic con las casillas de verificación
- ¿Cambiar el estado del CheckBox en el elemento de lista?
- Iniciar otra actividad si la casilla está marcada
- No se puede usar la casilla de verificación en eclipse con el complemento de adt de Android
- Cómo deshabilitar un grupo de radio hasta que se marque la casilla de verificación
- Usando la casilla de verificación para filtrar contactos y obtener el número de teléfono
- Cambiar colorControlActivated color programmically
- android cómo establecer el icono de la casilla de verificación en el derecho?
- Cambiar la casilla de verificación colorAccent en tiempo de ejecución mediante programación
- Establecer la casilla de verificación invisible a visible en la vista de lista
- Proyecto de ejemplo para seleccionar varios contactos
Sería mucho más simple si acaba de usar android:summaryOff
y android:summaryOn
en su disposición de preferencia. No se requiere código. P.ej:
<CheckBoxPreference android:enabled="true" android:key="alerts" android:title="Alerts" android:summaryOn="You will get notified when something interesting happens" android:summaryOff="You will not be notified" />
Vea: http://developer.android.com/reference/android/preference/CheckBoxPreference.html
public class Preferences extends PreferenceActivity implements OnSharedPreferenceChangeListener { public final static String KEY_CHECK = "check"; private CheckBoxPreference mCheckBoxPreference; @Override public void onCreate(Bundle savedInstance) { super.onCreate(savedInstance); addPreferencesFromResource(R.xml.preferences); mCheckBoxPreference = (CheckBoxPreference) getPreferenceScreen() .findPreference(KEY_CHECK); } @Override protected void onResume() { super.onResume(); getPreferenceScreen().getSharedPreferences() .registerOnSharedPreferenceChangeListener(this); } @Override protected void onPause() { super.onPause(); getPreferenceScreen().getSharedPreferences() .unregisterOnSharedPreferenceChangeListener(this); } public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { if (key.equals(KEY_CHECK)) { if (mCheckPreference.isChecked()) { mCheckPreference.setSummary(mCheckPreference.getEntry()); } } } }
- GetActionBar () devuelve null después de la actualización de SDK a 5.0
- ¿Es posible el filtrado de paquetes TCP en plataformas móviles?