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();
}
比较理想的情况是,我们写一个全局的方法,然后使用的时候直接调用就可以了
显然,我们应该首先想到直接在项目的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();
}
相关文章推荐
- 解决在BroadcastReceiver(广播接受者)中不能添加AlertDialog(对话框)的问题(android.view.WindowManager$BadTokenException)
- 解决android.view.WindowManager$BadTokenException: Unable to add window -- token .
- Android BadTokenException 问题解决
- 解决android.view.WindowManager$BadTokenException: Unable to add windo
- Android实现浮窗时报的android.view.WindowManager$BadTokenException: Unable to add window异常
- android.view.WindowManager$BadTokenException: ... is your activity running? 异常问题
- Android笔记:android.view.WindowManager$BadTokenException错误解决方法
- 解决ActivityGroup的sub Activity中spinner的WindowManager$BadTokenException的问题
- 解决: android.view.WindowManager BadTokenException:Unable to add Window.Is your activity running?
- 【已解决】android.view.WindowManager$BadTokenException: Unable to add window
- 解决ActivityGroup的sub Activity中使用spinner出现的WindowManager$BadTokenException问题
- 解决ActivityGroup的sub Activity中spinner的WindowManager$BadTokenException的问题
- 解决android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActiv
- 解决ActivityGroup的sub Activity中使用spinner出现的WindowManager$BadTokenException问题
- 【已解决】android.view.WindowManager$BadTokenException: Unable to add window
- Android异常解决之WindowManager.BadTokenException
- android.view.WindowManager$BadTokenException崩溃分类与解决。
- 解决常见的android.view.WindowManager$BadTokenException
- 常见的android.view.WindowManager$BadTokenException: Unable to add window问 9b8f 题解决
- Activity has leaked window that was originally added -界面退出时未关闭对话框异常 android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running? -