都说fragment好用,duang~~,又遇到问题了,记录一下,分享给遇到这个问题的同学!
1.fragment嵌套fragment时出现getactivity()为null
activity a嵌套fragment b,b嵌套fragment c,c跳转到activity d,当activity d被finish掉之后,c中容易爆出getactivity为空.如果你的activity被回收了,那你需要在bundle中保存一下fragment信息,我的解决方法:fragment实例化之后会到activity的fragmentmanager中注册一下,这个动作封装在fragment中的onattach(activity activity)方法中,可以直接在onattach(activity activity)方法中去赋值
2.fragment嵌套fragment时没有执行子fragment的onactivityresult方法
activity a嵌套fragment b,b嵌套fragment c,c通过startactivityforresult跳转到activity d,当activity d被finish掉之后,没有执行c的onactivityresult
其实这个问题也不是每个人都会遇到,当你的activity a和fragment b不重写onactivityresult方法,可能就不会出现这个问题,但是我的activity a重写了onactivityresult方法,所以当activity d被销毁的时候,直接去执行activity 的onactivityresult,其实这个问题也很简单,只是遇到的时候可能想不到,解决方案就是在activity中的onactivityresult方法中加入super.onactivityresult(requestcode, resultcode, data);一切都ok了
activity的onactivityresult方法:
@override protected void onactivityresult(int requestcode, int resultcode, intent data) { super.onactivityresult(requestcode, resultcode, data); ... }
fragment的onactivityresult方法:
public void onactivityresult(int requestcode, int resultcode, intent data) { }
当然有些特殊情况也不走onactivityresult方法,遇到了也不要烦躁,从activity中的onactivityresult方法中手动调用fragment的方法,把相应的数据传递过去
如果你有更好的方法,互相交流哦!
您可能感兴趣的文章:
- U盘越狱iPhone绕ID最新教程及各种坑解决,吐血之作(超详细超简单教程)
- Chrome Inspect调试stetho出现空白的解决方法
- [Android jni开发系列]AndroidStudio jni开发常见问题
- Chrome Inspect调试微信出现空白页面的解决方法
- Android6.0开发调试教程之交叉编译X264库出错怎么解决?
- Android studio Kotlin中配置GRPC和protobuf时出现的一些问题总结
- Android8.0 java.lang.IllegalStateException: Not allowed to start service Intent app is in background
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
网友评论