Просто для того, чтобы другие пользователи знали:
Если у вас есть отдельное пользовательское исключение, которое вы хотите использовать везде (модели, контроллеры и т. Д.), А также в своих представлениях, распространяйте пользовательское исключение везде и добавьте код AlertDialog Тревора в метод, определенный в вашем исключении, передав контекст:
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();
}
}
В моем фрагменте этот метод - alertUser (Context context). Чтобы отобразить предупреждение в действии, просто используйте:
try {
// ...
} catch (PomodroidException e) {
e.alertUser(this);
}
Очень легко перегрузить метод для настройки некоторых частей AlertDialog, таких как его заголовок и текст кнопки.
Надеюсь, это кому-нибудь поможет.