0

こんにちは私はメニュー項目から関数を呼び出そうとしています。しかし、私はこの例外を受け取っています。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();
    }
4

1 に答える 1

2

アプリケーション コンテキストを使用して AlertDialog を作成することはできません。アクティビティ コンテキストを使用する必要があります。あなたの場合thisは適切でしょう。

于 2012-09-20T11:34:34.330 に答える