代码中出现如下错误:

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对象即可

弹出确认框

newAlertDialog.Builder(MainActivity.this).setTitle(R.string.confirm_title).setMessage(R.string.confirm_content).setPositiveButton(R.string.confirm_ok,newOnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialogInterface,intarg1){dialogInterface.dismiss();masterClear(getApplicationContext());}}).setNegativeButton(R.string.confirm_cancel,newOnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialogInterface,intarg1){dialogInterface.cancel();}}).show();