为了账号安全,请及时绑定邮箱和手机立即绑定

在使用FragmentTransaction来切换的时候,按Home键,Fragment生命周期的变化

在使用FragmentTransaction来切换的时候,按Home键,Fragment生命周期的变化

China丰 2017-06-27 14:33:17
如果使用了FragmentTransaction.add 和 show 来切换导航栏的话,在Fragment1 和Fragment2 来回切换的时候,Fragment的生命周期不会发生变化。但是如果按Home键返回桌面的时候,里面所有已经打开的Fragment都会被销毁。从桌面返回应用里面的时候,就会重新执行Fragment的创建。如果Fragment里面是一个ListView的话,就会重新去网络获取数据了。请问下,应该如果避免 这个 重新创建这个Fragment问题呢
查看完整描述

1 回答

?
为梦想努力_冬

TA贡献56条经验 获得超14个赞

可以使用viewPager把Fragment包含进去,然后使用vp.setOffscreenPageLimit(fragmentList.size() - 1);方法,这样fragmnet在点击home键的时候会onstop()但不会ondestory()了。

查看完整回答
反对 回复 2017-06-27
  • China丰
    China丰
    ViewPager是可以滑动的,我想实现的是不能滑动,只靠点击底部的导航栏来实现切换。 vp.setOffscreenPageLimit(fragmentList.size() - 1); 这段代码会实现所有的Fragment都去预加载的。这个是不友好的。应该切换到哪个Fragment再去加载哪个的,重新切换的时候,不能重新去加载layout
  • 为梦想努力_冬
    为梦想努力_冬
    禁止滑动只要重写ViewPager的touch事件就好了 @Override public boolean onTouchEvent(MotionEvent arg0) { return false; } @Override public boolean onInterceptTouchEvent(MotionEvent arg0) { return false; } 至于你又想Fragment重新加载,又不想他重新加载,我不知道是为什么,可能你有特殊的需求吧,我都没太懂你的Fragment要实现什么
  • 1 回答
  • 0 关注
  • 1487 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信