本文主要是介绍android 实现全局对话框中context的问题 .WindowManager$BadTokenException问题解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在实际的开发过程中,我们可能会有很多处网络请求的地方,这个时候我们就需要一些友好性的提示了,例如进度对话框之类的
比较理想的情况是,我们写一个全局的方法,然后使用的时候直接调用就可以了
显然,我们应该首先想到直接在项目的application类里面写一个方法,然后进行progressdialog的显示和隐藏,这种情况下,我们创建progressdialog对象的时候,很自然的就使用到了getapplicationcontext这个上下文对象了,然后在运行了之后,就会爆出.WindowManager$BadTokenException异常并强制退出了,原因就是我们使用了全局的application,
而dialog是只可以使用activity作为参数的,然后我们再application的方法里面,增加一个activity的参数就可以了,问题完美解决
/*** 显示一个对话框*/public static void showProgressDialog(Context activityContext,String msg) {progressDialog = new ProgressDialog(activityContext);progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);progressDialog.setMessage(msg);progressDialog.show();}
这篇关于android 实现全局对话框中context的问题 .WindowManager$BadTokenException问题解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!