Unable to add window -- token null is not for an application

代碼中出現如下錯誤:

android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application

分析:

問題在於new AlertDialog.Builder(Context),雖然這裏的參數是AlertDialog.Builder(Context context)

但我們不能使用getApplicationContext()獲得的Context,而必須使用Activity的Context對象,因爲只有一個Activity才能添加一個窗體。  

解決方法:

將new AlertDialog.Builder(Context context)中的參數用Activity的Context對象即可

彈出確認框

    new AlertDialog.Builder(MainActivity.this)
		.setTitle(R.string.confirm_title)
		.setMessage(R.string.confirm_content)
		.setPositiveButton(R.string.confirm_ok, new OnClickListener() {
			@Override
			public void onClick(DialogInterface dialogInterface, int arg1) {
				dialogInterface.dismiss();
				masterClear(getApplicationContext());
			}
		})
		.setNegativeButton(R.string.confirm_cancel, new OnClickListener() {
			@Override
			public void onClick(DialogInterface dialogInterface, int arg1) {
				dialogInterface.cancel();
			}
		}).show();



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章