您的位置:首页 > 移动开发 > Android开发

android 实现全局对话框中context的问题 .WindowManager$BadTokenException问题解决

2015-04-21 09:59 471 查看
在实际的开发过程中,我们可能会有很多处网络请求的地方,这个时候我们就需要一些友好性的提示了,例如进度对话框之类的

比较理想的情况是,我们写一个全局的方法,然后使用的时候直接调用就可以了

显然,我们应该首先想到直接在项目的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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐