как остановить программу при открытии alertDialog? - PullRequest
0 голосов
/ 26 октября 2011

Я хочу остановить основной поток, пока alertDialog открыт, и ждать выбора пользователя для продолжения программы (в зависимости от нажатых кнопок (положительных или отрицательных)). При попытке остановить поток после. шоу (); диалог не рисовать; если зависание слушателя onDestract onClose это работает, но код ужасен.

Ответы [ 2 ]

0 голосов
/ 26 октября 2011

Зачем вам нужно остановить основной поток?Это какая-то игра?Вы должны использовать много потоков и никогда не блокировать основной поток.Например, нить для логики, нить для рисования.Если вам нужно остановить рисование, просто установите свойство noDraw = true :) Пример:

SomeDrawer extends View {
   @override
   public void onDraw(...){
      if(noDraw) return;
      redrawMyGame(...);
   }
}
0 голосов
/ 26 октября 2011

Вы не можете остановить «основной» поток, так как он является графическим потоком - ваш alertDialog станет неотзывчивым. Вам необходимо использовать обратный вызов для выполнения желаемых операций.

...