Ошибка android.view.WindowManager$BadTokenException при создании диалогового окнаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Ошибка android.view.WindowManager$BadTokenException при создании диалогового окна

Сообщение Anonymous »

Я пытаюсь создать диалоговое окно из класса отсутствия активности.

Это мой код

Код: Выделить всё

  public static void ShowDialogBox(final Context con, final Listener list) {
AlertDialog.Builder dlgAlert = new AlertDialog.Builder(con);
dlgAlert.setMessage("TEXT");
dlgAlert.setTitle("TEXT");
dlgAlert.setPositiveButton("TEXT"),
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {

}
});
dlgAlert.setCancelable(false);
dlgAlert.create().show(); // THIS LINE GIVES ME AN ERROR
}
Это ошибка, которую я получаю


android.view.WindowManager $BadTokenException: в
android.view.ViewRootImpl.setView (ViewRootImpl.java:574) в
android.view.WindowManagerGlobal.addView
(WindowManagerGlobal.java:282) на
android.view.WindowManagerImpl.addView (WindowManagerImpl.java:85)

на android.app.Dialog.show (Dialog.java:298) на
НАЗВАНИЕ И КЛАСС ПАКЕТА
НАЗВАНИЕ И КЛАСС ПАКЕТА на
ИМЯ И КЛАСС ПАКЕТА
ИМЯ И КЛАСС ПАКЕТА в
ИМЯ ПАКЕТА И КЛАСС.onBackPressed
(Class.java:95) в android.app.Activity.onKeyUp
(Activity.java :2465) в android.view.KeyEvent.dispatch
(KeyEvent.java:2646) в android.app.Activity.dispatchKeyEvent
(Activity.java:2716) в
android.support.v7.internal.view.WindowCallbackWrapper.dispatchKeyEvent
(WindowCallbackWrapper.java:50) в
android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.dispatchKeyEvent
(AppCompatDelegateImplBase.java:224) по адресу
com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent
(PhoneWindow.java:2280) по адресу
android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent
(ViewRootImpl.java:4038) по адресу
android.view.ViewRootImpl$ViewPostImeInputStage.onProcess
(ViewRootImpl.java:4000) в
android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:3562)
в android.view.ViewRootImpl$InputStage.onDeliverToNext
(ViewRootImpl.java:3615) в
android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:3581)
в android.view.ViewRootImpl$AsyncInputStage.forward
(ViewRootImpl.java:3698) в
android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java :3589)

в android.view.ViewRootImpl$AsyncInputStage.apply
(ViewRootImpl.java:3755) в
android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:3562)
в android.view. ViewRootImpl$InputStage.onDeliverToNext
(ViewRootImpl.java:3615) по адресу
android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:3581)
по адресу android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:3589) в android.view.ViewRootImpl$InputStage.deliver
(ViewRootImpl.java:3562) по адресу
android.view.ViewRootImpl$InputStage.onDeliverToNext
(ViewRootImpl.java:3615) по адресу
android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:3581)
в android.view.ViewRootImpl$AsyncInputStage.forward
(ViewRootImpl.java:3731) в
android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent
(ViewRootImpl.java:3892) по адресу
android.view.inputmethod.InputMethodManager$PendingEvent.run
(InputMethodManager.java:2208) в
android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback
(InputMethodManager.java:1849) в
android.view.inputmethod.InputMethodManager.finishedInputEvent
(InputMethodManager.java:1840) в
android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished
(InputMethodManager.java:2185) в
android.view.InputEventSender.dispatchInputEventFinished
(InputEventSender.java:141) в
android.os.MessageQueue.nativePollOnce (собственный метод) в
android.os.MessageQueue.next (MessageQueue.java) :143) в
android.os.Looper.loop (Looper.java:122) в
android.app.ActivityThread.main (ActivityThread.java:5254) в
java.lang.reflect.Method.invoke (собственный метод) ) в
java.lang.reflect.Method.invoke (Method.java:372) в
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
(ZygoteInit.java:902) по адресу com.android.internal.os.ZygoteInit.main
(ZygoteInit.java:697)


Вот сценарий пользователя

Действие A -->Открывает действие B -->Пользователь нажимает кнопку "Назад" в действии B --> При нажатии кнопки "Назад" прослушиватель отправляется к действию A --> А затем Показанное диалоговое окно называется.

Подробнее здесь: https://stackoverflow.com/questions/505 ... dialog-box
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»