天天看點

android AlertDialog顯示錯誤 Unable to add window token null is not for an application解決辦法...

public  void onCreate(Bundle savedInstanceState) {

         super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        findViewById(R.id.button1).setOnClickListener( new Button.OnClickListener() {

             public  void onClick(View v) {

                 new AlertDialog.Builder(getApplicationContext())

                .setTitle(R.string.dialogTitle)

                .setMessage(R.string.dialogMessage)

                .setPositiveButton("确定",  new DialogInterface.OnClickListener() {

                     public  void onClick(DialogInterface dialog,  int which) {

                        Toast.makeText(getApplicationContext(), "你按了确定。", Toast.LENGTH_SHORT).show();

                    }

                }).show();

            }

        });

    }

報錯:Unable to add window token null is not for an application

異常原因:AlertDialog建立語句public AlertDialog.Builder (Context context)中,不能使用getApplicationContext()得到的context,而必須使用Activity,是以解決如下

解決辦法:

将 new AlertDialog.Builder(getApplicationContext()) 改為 new AlertDialog.Builder(MainActivity.this)

其中MainActivity 為 目前Activity的名稱