Я искал в Stackoverflow, просматривал примеры в Android Developer и некоторые книги, но я просто не понимаю.
Я пытаюсь показать окно AlertDialog, которое прерывает выполнение программы. Большинство примеров, которые я видел, не имеют кода после диалогового окна, и мне нужно, чтобы моя программа прекратила выполнение, пока не будет нажата кнопка AlertDialog. Похоже, что AlertDialog создается из другого потока, и я не уверен, как получить этот поток.
Логика программы: Если синтаксический анализ плох, программа принудительно закроется. Я хочу, чтобы пользователь знал, чтобы перезапустить программу, и все будет работать. (Я удаляю и воссоздаю таблицы, и они снова заполняются, когда программа запускается снова)
Вот код:
if(database populated)
{
....code.....
if(parseok.contentEquals("Error"))
{
doForceClose();
}
displayDate = "Last: " + parseok; //I don't want the program to continue to here.
//Rest of code in the method. If I continue the program will Force Close
}
else
do something else
Вот метод AlertDialog:
private void doForceClose()
{
String themessage = "Because some of the parameters have changed in the yada yada";
AlertDialog.Builder ad = new AlertDialog.Builder (this);
ad.setTitle("Internal Error");
ad.setMessage(themessage);
ad.setPositiveButton("Sorry", new OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
finish();
return;
}
});
ad.create();
ad.show();
}
за исключением объявления, которое не показывается, и программа продолжает принудительно закрываться.
Очевидно, я чего-то не понимаю. Есть идеи?
изменить: я в классе, который расширяет деятельность