我已经使用FragmentActivity
,ViewPagerAdapter
和Fragment
来构建标签格式。我的FragmentActivity
中有3个选项卡。我很困惑,当FragmentActivity
方法被调用或者onCreateView方法被调用onClick
的选项卡时,是否所有Fragment
onCreateView
方法都被调用?我已经设置了3个断点onCreateView
我所有的3 Fragments
的方法。在调试期间,我发现只有前2个onCreateView
方法被调用。请解释为什么只有2个被调用?在android中使用FragmentActivity调用所有Fragment onCreateView方法吗?
0
A
回答
1
ViewPagerAdapter将根据用户需求来管理创建片段和销毁片段。所以,如果你不设置mViewPager.setOffscreenPageLimit(NUM_TABS-1),默认为1(可以参考here)
这就是为什么它仅仅创建第2个选项卡,当您选择TAB3,那么它会破坏tab1的片段并创建tab3的片段。你的情况,如果你设置mViewPager.setOffscreenPageLimit(2)当你调试时,你会看到它调用3 onCreateView方法,并不会销毁任何片段的视图。希望这个帮助。
0
根据用户需求创建和销毁它们。如果你滚动到第二个片段,你会看到它被创建。这只是一个优化。你认为一个例如8个片段的应用程序需要将这8个片段保存在内存中吗?这会浪费资源。
+0
雅我明白了。但是默认行为是什么。我的第一个2个片段是在开始时创建的,但不是第3个。当我点击第二个选项卡时,它调用第三个片段。这就是为什么我感到困惑。 – ray 2013-03-12 02:26:19
相关问题
- 1. Fragment vs. FragmentActivity
- 2. 在带有标签的onCreateView()中使用Google Map Fragment
- 3. show。(getFragmentManager)with Fragment not FragmentActivity
- 4. 如何在Android中使用Fragment中的按钮调用页面?
- 5. 来自FragmentActivity的Fragment中的Grid.Invalidate
- 6. 从UI线程运行的Fragment中调用Activity方法吗?
- 7. 在父Activity中调用Fragment接口方法onBackPressed方法
- 8. 如何在Android中将Fragment中的整数值传递给FragmentActivity?
- 9. Android AsyncLoader:在fragmentactivity/fragment之间共享对象
- 10. 如何从Activity/Fragment调用ViewHolder方法
- 11. 如何从ViewPager调用Fragment方法?
- 12. Android - “方法add(int,Fragment)...”
- 13. 我可以在Android的getView()方法中调用setContentView()方法吗?
- 14. 在Android中使用Fragment在SQLite数据库中添加数据
- 15. 将服务绑定到FragmentActivity或Fragment?
- 16. onCreateView“自己调用”
- 17. onPrepareOptionsMenu onCreateView后调用
- 18. OnCreateView调用两次
- 19. Android片段OnCreateView调用两次
- 20. 使用android在onCreateView之外膨胀
- 21. 如何停止正在调用自定义ViewPager的onCreateView方法
- 22. 从FragmentActivity调用活动NullPointerException
- 23. 从Fragment对象访问FragmentActivity中的元素
- 24. 这是在android中使用Run方法的最佳方法吗?
- 25. Android应用程序 - 在onCreateView中的HttpURLConnection
- 26. Java:显示方法调用中使用的所有字符串
- 27. onPostexecute在Fragment调用方法上查看是否安全?
- 28. 来自Activity的Fragment中的调用方法返回java.lang.NullPointerException错误
- 29. 所有android回调方法的列表
- 30. MapView.onMapReady从未在Fragment中调用Map Map在MapView中加载
@MichaelIP你是对的。谢啦。 – ray 2013-03-12 02:58:33