原创内容,转载请注明原文网址:http://homeqin.cn/a/wenzhangboke/jishutiandi/Android/2019/0528/514.html
Android程序员开辟,这个问题势必会出现,如下是我碰到时若何办理的
方法一:
1、在onCreatView内部实行初始化操纵
2、context应用之前判空
3、当出现这个问题时,只有在Fragment 中申明一个高低文类型的成员变量,并在onAttach()方法中将getActivity()的值赋给变量,在Fragment中应用到getActivity()时,都是用context即可。也即是说在将Fragment挂载到Activity时,就获取到了这个activity,并将这个activity留存起来了,这样便直接应用而不必要每次应用时都挪用一遍getActivity()了。
4、MainActivity重写onSaveInstanceState方法,将super.onSaveInstanceState(outState);注释掉,让其不再留存Fragment的状况,达到其跟着MainActivity一起被接管的结果!
方法二:
把co妹妹it()方法替代成 co妹妹itAllowingStateLoss()------方法是在该Activity即将被烧毁前挪用,来留存Activity数据的,要是在留存玩状况后再给它增加Fragment就会失足
方法三:
在add(fragment) 的时候举行校验 是否曾经增加该fragment
方法是isAdded()
上篇:上一篇:Java中String和byte[]间的转换浅析
下篇:下一篇:HttpUrlConnection 应用