android:bug Fragment not attached to Activity ,fragment not attached to a context.
16lz
2021-01-26
网上说是activity重建的时候,假如fragment还在使用诸如context,就会出现这个问题,比如说突然横屏,fragment里面正在访问网络接口,使用了 new ProgressDialog(context, R.style.waitting_dialog);来进行等待,就会崩溃,Fragment not attached to a context。可以在fragment内部,使用isAdded()来判断是否fragment和activity绑定。
这和我碰到的问题不太一样,我activity没有重建,也没横屏,在初始化的时候就崩溃了,出现这个bug。是因为viewPager最初就属于GONE状态,未被绘制加载,但是fragment已经建立了,使用了context获取颜色,就会崩溃,fragment not attached to a context.
解决办法,把viewPager或者包含ViewPager的ViewGroup在layout文件中设置成显示 VISIBLE,然后在界面加载后,使用
Handle handle = new Handle;
handle.postDelayed(new Runable() {pubic void run() { view.setVisible(View.gone); }}, 200);
这样获取颜色或者drawable之类的就可以了,然后网络框架,等待提示的dialog所需要的context建议使用弱引用
更多相关文章
- Android基于Dialog实现加载框
- 实例演示Android异步加载图片
- Android加载缩略图的几种方法
- Android技术积累:图片异步加载
- 2015最火十大Android开源项目,是个程序员你就该看看!
- Android的引用jar包
- Android—WebView介绍
- android判断是否加载SD卡
- android Webview加载网络图片