关于Fragment

来源:互联网 发布:苹果数据恢复 编辑:程序博客网 时间:2024/04/27 23:52

fragment切换

使用add()方法然后使用trans.hide(fragment);和trans.show(fragment);来控制显示的界面达到切换效果

问题是:如果我们在Fragment里面开了线程请求数据,切换的时候每个界面都加载了数据,这样似乎有

些不合理,因为一般情况下是当用户切换的时候再去加载相应fragment那要是使用replace()呢,经测试

使用replace();fragment 每次都要重新创建,执行生命周期的方法

其实可以使用add配合trans.hide(fragment)和trans.show(fragment);

然后重写onHiddenChanged(boolean hidden) 方法

hidden==false的时候(表示显示此Fragment)判断是否已经加载数据(数据集合是否为空若为空则)去加载数据

问题就解决了

还有

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setRetainInstance(true);//横竖屏不重新创建Fragment并且不会执行异步任务
}

0 1
原创粉丝点击