【问题标题】:Menu throwing exception- android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application菜单抛出异常 - android.view.WindowManager$BadTokenException:无法添加窗口 - 令牌 null 不适用于应用程序
【发布时间】:2012-09-12 18:23:25
【问题描述】:

您好,我正在尝试从菜单项中调用一个函数。但我得到了这个例外。 android.view.WindowManager$BadTokenException: 无法添加窗口 -- 令牌 null 不适用于应用程序

这是我的代码..

public boolean onCreateOptionsMenu(Menu menu) {

        MenuInflater menuInflater = getMenuInflater();
        menuInflater.inflate(R.layout.menu1, menu);
        return true;
    }

    @Override
    public boolean onMenuItemSelected(int featureId, MenuItem item) {

        switch(item.getItemId())
        {
        case R.id.write :
            writeToTag();
            return true;

        case R.id.exit :
            exitApplication();
            return true;

        default :
            return super.onMenuItemSelected(featureId, item);
        }

    }

    private void exitApplication() {

        AlertDialog.Builder alertDialog = new AlertDialog.Builder(getApplicationContext());
        alertDialog.setMessage("Do You Want To Exit..?")
        .setPositiveButton("Yes",new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {

                NFCTagWriterActivity.this.finish();
            }
        }).setNegativeButton("No",new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                onStart();

            }
        }).show();

        AlertDialog alert = alertDialog.create();
    }

【问题讨论】:

    标签: java android android-menu


    【解决方案1】:

    您不能使用应用程序上下文创建 AlertDialog。您需要使用活动上下文。在您的情况下,this 是合适的。

    【讨论】:

      猜你喜欢
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-28
      相关资源
      最近更新 更多