Estoy desarrollando una aplicación en android Quiero mostrar AlertDialog si el usuario marca la casilla de verificaciónpreferencia de la pantalla de preferencias. entonces, ¿cómo puedo hacer eso ...?¿Cómo abrir AlertDialog desde la pantalla de preferencias?
Respuesta
Anulación onSharedPreferenceChanged
en su clase PreferenceActivity
:
public class MyPreferences extends PreferenceActivity implements OnSharedPreferenceChangeListener {
...
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (key.equals("MyCheckboxPreferenceKey")) {
//Show your AlertDialog here!
}
}
@Dharmendra Sea más específico en lo que "no funciona". – GrAnd
prueba este ...
public class MyPreferences extends PreferenceActivity implements OnSharedPreferenceChangeListener {
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
final Preference preference) {
if(preference.equals("MyCheckboxPreferenceKey")) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Your Message");
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//action on dialog close
}
});
builder.show();
}
}
Gracias está trabajando @vaibhav – Dharmendra
@Dharmendra En realidad, esto requiere una declaración de devolución y requerirá que se agregue la parte principal del método a continuación para cubrir los "métodos no implementados" – LoungeKatt
He votado a favor de esto en el camino, pero volviendo a él ... Tengo un problema donde no se está llamando al método onPreferenceTreeClick(). Encontré esta publicación para la solución actual que me ayudó a hacer funcionar esta lógica http://stackoverflow.com/a/12325780/2162226 – gnB
public class MyPreferences extends PreferenceActivity{
...
//getting current context for builder
AlertDialog.Builder build = new AlertDialog.Builder(this);
//setting some title text
build.setTitle("SomeTitle");
//setting radiobuttons list
build.setSingleChoiceItems(new String[]{"One", "Two"}, 0, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//Some behavior here
}
});
build.setNegativeButton("Cancel", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//Might be empty
}
});
//creating dialog and showing
AlertDialog dialog = build.create();
dialog.show();
}
eso es todo.
- 1. pantalla de preferencias Android Disposición
- 2. Cómo eliminar las preferencias de Android de la pantalla
- 3. [Android] ¿Cómo obtener resultados del intento iniciado desde la pantalla de preferencias?
- 4. Mostrar AlertDialog en cualquier posición de la pantalla
- 5. Pantalla de preferencias usando ActionBar Sherlock
- 6. Usar un tema para la pantalla de preferencias
- 7. Hace referencia a una pantalla de preferencias de Android por separado dentro de otra pantalla de preferencias en XML
- 8. Error al abrir la depuración en Preferencias en Eclipse
- 9. ¿Cómo abrir un cuadro de diálogo de una entrada de texto en una pantalla de preferencia?
- 10. Preferencias de Android: cómo cargar los valores predeterminados cuando el usuario no ha usado la pantalla de preferencias?
- 11. cómo abrir una nueva pantalla en Android?
- 12. ¿Cómo regresar de la pantalla de preferencias a la actividad principal?
- 13. Cómo cambiar el tamaño de AlertDialog en la pantalla del teclado
- 14. Abrir la aplicación de Excel desde Python
- 15. AlertDialog dentro de onClickListener
- 16. Android: levanta AlertDialog desde el hilo de fondo
- 17. Cómo regresar a la pantalla de inicio desde la actividad
- 18. Mostrando la pantalla de preferencias se ejecuta la primera aplicación y preguntas relacionadas
- 19. ¿Abrir la aplicación iPod desde mi aplicación?
- 20. Android: deslizar la pantalla para abrir otra actividad?
- 21. ¿cómo puedo iniciar el protector de pantalla (y bloquear la pantalla) desde la terminal os x?
- 22. Abrir terminal desde Eclipse
- 23. Cómo abrir un archivo externo desde HTML
- 24. Actualizando la pantalla desde un widget?
- 25. Cómo abrir un archivo desde Memory Stream
- 26. Cómo omitir la macro Autoexec al abrir MSAccess desde MSAccess?
- 27. ¿Cómo abrir la aplicación iphone mail desde mi propia aplicación?
- 28. Cómo abrir un PDF mediante Intent desde la tarjeta SD
- 29. ¿Cómo puedo abrir la Consola Google Chrome desde JavaScript?
- 30. ¿Cómo calcular la correlación entre las preferencias?
Ayudaría significativamente si nos deja saber qué tecnología y plataforma está utilizando. Siempre proporcione todo el contexto que pueda. –
Tiene una etiqueta de Android ... –
posible duplicado de [¿Cómo abrir AlertDialog desde la pantalla de preferencias?] (Http://stackoverflow.com/questions/5457944/how-to-open-alertdialog-from-preference -screen) –