android:bug Fragment not attached to Activity ,fragment not attached to a context.

网上说是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)