Ошибка простого диалога с активностью - android.view.WindowManager $ BadTokenException - PullRequest
0 голосов
/ 29 июня 2018

У меня есть основной вид деятельности, который называется вторым. Это второе действие вызывает класс java для просмотра, из которого вызывается диалоговое окно с предупреждением:

                    Log.w(LOG_TAG, "call the alertdialog");
                    showAlertDialog();


public void showAlertDialog() {
    /** define onClickListener for dialog */
    DialogInterface.OnClickListener listener
            = new   DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            // do some stuff eg: context.onCreate(super)
        }
    };

    /** create builder for dialog */
    AlertDialog.Builder builder = new AlertDialog.Builder(NFLActivity.context)
            .setCancelable(false)
            .setMessage("You have made all bets. Select OK to submit...")
            .setTitle("All Bets Are In")
            .setNegativeButton("Return", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {

Приложение вылетает с этим: 06-29 10: 03: 31.340 3740-3740 / com.bab_c.picksandbets E / AndroidRuntime: ОСНОВНОЕ ИСКЛЮЧЕНИЕ: основное Процесс: com.bab_c.picksandbets, PID: 3740 android.view.WindowManager $ BadTokenException: невозможно добавить окно - нулевой токен недействителен; ваша деятельность работает?

Я исследовал, чтобы выяснить, что диалоговое окно нуждается в действии, но при использовании второго действия showAlertDialog (SecondActivity.context) все равно не удается.

1 Ответ

0 голосов
/ 29 июня 2018

Прежде всего, используйте класс viewHolder, чтобы просто удерживать представления и вызывать оповещение из второго Activity, используя представление viewHolder.

и во-вторых, не делайте контекст статичным

...