У меня есть предупреждение, которое я использую для отображения ошибок. В общем классе утилиты я могу вызвать из любой активности. Когда я вызываю окно ошибки, я передаю текущую активность вместе с сообщением об ошибке.Лучший способ показать оповещение перед началом деятельности?
Util.showAlert(this,"error message goes here");
Мой showAlert выглядит следующим образом
AlertDialog alertDialog = new AlertDialog.Builder(act).create();
// Setting Dialog Title
alertDialog.setTitle("ERROR");
// Setting Dialog Message
alertDialog.setMessage(msg);
// Setting OK Button
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
// Showing Alert Message
alertDialog.show();
}
Я столкнулся с недавней проблемой и не уверен, что лучший способ это исправить эту проблему, и любые будущие те, призывающих тот же общий alertbox. Моя MainActivity вызывает SecondActivity. В onCreate для этого действия я делаю некоторую обработку, а затем вам нужно открыть базу данных и получить некоторую информацию. Если информация недоступна, я не могу запустить SecondActivity и поэтому должен выйти и вернуться в MainActivity.
В моей процедуре проверки ошибок в SecondActivity я проверяю, есть ли у меня данные ... если я это сделаю, я продолжу. Если нет, то я называю:
Util.showAlert(this,"Whoops, we have a problem");
finish();
Проблема заключается в том, отделка() пожары и SecondActivity закрывается перед открытием showAlert.
При нормальных обстоятельствах с ошибкой я все еще в этом деле. В этом случае я не являюсь.
Каков наилучший способ справиться с этим?
вы должны сделать проверки в основном действии и избавиться от (finish();). его бессмысленно переходить ко второму действию, а затем проверить – Tasos
К сожалению, это невозможно сделать в основном действии. Во второй операции есть некоторая обработка, которая определяет успех/сбой при запуске поиска в базе данных. – Peter