¿Hay alguna manera de mostrar una excepción personalizada en una alerta en Android?
Soy un novato desarrollador de Android. Me gustaría saber si existe una forma de escuchar una excepción personalizada en Android y mostrar su texto mediante una alerta. Gracias.
- ¿Cómo alinear el icono de la lupa en SearchView con precisión?
- Cómo acceder a las vistas de la actividad original desde el servicio de fondo generado
- Facebook Slide menu-slide a la derecha en android?
- Barra de acción de Android como muestra de twitter
- Cómo copiar de un lienzo a otro
- Cómo mantener la vista actual en ViewFlipper al cambiar la orientación
- Imágenes de los botones de AlertDialog
- Android: Pregunta sobre tamaño / resolución de aplicaciones independientes?
- No se utiliza el icono de notificación FCM
- Android: Creación de un diseño principal y ampliación para mantener un aspecto idéntico en todas las actividades de la aplicación
- ¿Por qué el ajuste de texto de onMeasure no afecta a TextView?
- Barra de acciones: práctica recomendada para versiones anteriores de Android
- Android: el fragmento es demasiado lento al cargar
Simplemente captura la excepción deseada y, a continuación, cree un nuevo AlertDialog que contenga el contenido de la excepción.
import android.app.Activity; import android.app.AlertDialog; import android.os.Bundle; public class HelloException extends Activity { public class MyException extends Exception { private static final long serialVersionUID = 467370249776948948L; MyException(String message) { super(message); } } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public void onResume() { super.onResume(); try { doSomething(); } catch (MyException e) { AlertDialog.Builder dialog = new AlertDialog.Builder(this); dialog.setTitle("MyException Occured"); dialog.setMessage(e.getMessage()); dialog.setNeutralButton("Cool", null); dialog.create().show(); } } private void doSomething() throws MyException { throw new MyException("Hello world."); } }
Sólo para informar a otros usuarios: Si tiene una excepción personalizada separada que desee utilizar en todas partes (modelos, controladores, etc.) y también en sus vistas, propague la excepción personalizada en todas partes y agregue el código AlertDialog de Trevor en un método definido En su excepción, pasándole el contexto:
package it.unibz.pomodroid.exceptions; import android.app.AlertDialog; import android.content.Context; public class PomodroidException extends Exception{ /** * */ private static final long serialVersionUID = 1L; // Default constructor // initializes custom exception variable to none public PomodroidException() { // call superclass constructor super(); } // Custom Exception Constructor public PomodroidException(String message) { // Call super class constructor super(message); } public void alertUser(Context context){ AlertDialog.Builder dialog = new AlertDialog.Builder(context); dialog.setTitle("WARNING"); dialog.setMessage(this.toString()); dialog.setNeutralButton("Ok", null); dialog.create().show(); } }
En mi fragmento, el método es alertUser (Context context). Para mostrar la alerta en una actividad, simplemente use:
try { // ... } catch (PomodroidException e) { e.alertUser(this); }
Es muy fácil sobrecargar el método para personalizar algunas partes de AlertDialog como su título y el texto del botón.
Espero que esto ayude a alguien.
- Inhabilitar Menubutton en el emulador de Android
- Gradle tarea para cambiar un booleano en la compilación de configuración