android.view.WindowManager$BadTokenException: Unable to add window

来源:互联网 发布:手机淘宝店铺怎么进入 编辑:程序博客网 时间:2024/04/28 17:40

为了熟练AlertDialog,就闲的无聊用他打印数据库查询到的信息,但是发生了报错,源代码如下:

AlertDialog.Builder dialogBuilder=new AlertDialog.Builder(getBaseContext());                        dialogBuilder.setTitle("someMessage");                        dialogBuilder.setCancelable(false);                        dialogBuilder.setMessage(id+name+price);                        dialogBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() {                            @Override                            public void onClick(DialogInterface dialog, int which) {                            }                        });                        dialogBuilder.show();

后来查询得到如下解释:

导致报这个错是在于new AlertDialog.Builder(mcontext),虽然这里的参数是AlertDialog.Builder(Context context)但我们不能使用getApplicationContext()获得的Context,而必须使用Activity,因为只有一个Activity才能添加一个窗体。 引用自:http://aijiawang-126-com.iteye.com/blog/662336

解决方法就是把getBaseContext()修改为MainActivity.this

0 0
原创粉丝点击