博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对Context的重新思考
阅读量:7077 次
发布时间:2019-06-28

本文共 669 字,大约阅读时间需要 2 分钟。

  1. Android.view.WindowManager$BadTokenException: Unable to add window- token null is not valid; is your activity running?

    问题发生的情景:当我从一个activity跳转到另外一个activity时,第二次跳转崩溃。后来终于找到了原因

   第一次progDialog实例化用的是第二个activity的context,然后第二次进入第二个activity的

 候progDialog并没有实例化,progDialog还保留着第2个activity第一次的context,但是这个时候的

  activity已经销毁,context也就不存在 。

 不要纯粹地节约一个new的过程,而不去创建对象。

 但是每次都new一个对象也不是明智之举,于是利用view.getContext来对Context进行一下判断可以

对代码进行一下优化

 

1
2
3
4
5
6
7
if 
(progDialog == 
null
) {  
    
progDialog = 
new 
ProgressDialog(context);
}
else
{
    
if
(progDialog.getContext() != context){
        
progDialog = 
new 
ProgressDialog(context);
    
}
}

 

      本文转自屠夫章哥  51CTO博客,原文链接:http://blog.51cto.com/4259297/1793253,如需转载请自行联系原作者

你可能感兴趣的文章
[redis] Redis 配置文件置参数详解
查看>>
Java 多线程程序设计
查看>>
SQL--类型转换
查看>>
VGG_19 train_vali.prototxt file
查看>>
获取文件或是文件夹的大小和占用空间
查看>>
libssh2进行远程运行LINUX命令
查看>>
Android Gson深入分析
查看>>
Android中自动跳转到系统设置界面
查看>>
树后台数据存储(採用webmethod)
查看>>
Android利用Fiddler进行网络数据抓包【怎么跟踪微信请求】
查看>>
memcached系列之二
查看>>
树的左旋与右旋
查看>>
Atitit. 如何判断软件工程师 能力模型 程序员能力模型 项目经理能力模型...
查看>>
每周算法讲堂,二分法
查看>>
2016第8周五
查看>>
CSS3文本溢出显示省略号
查看>>
zookeeper系列之通信模型(转)
查看>>
js动态判断密码强度&&实用的 jQuery 代码片段
查看>>
.Net开源SqlServer ORM框架SqlSugar整理
查看>>
JQuery在循环中绑定事件的问题详解
查看>>