[英]How to use Android Fragments?
我正在看一些演示代码,该代码演示了如何使用片段适配器(在这种情况下为标签适配器)。 我很好奇instantiate()
方法的作用。 我在此页面的以下演示代码中看到了它:
http://developer.android.com/reference/android/support/v4/view/ViewPager.html
(请参见TabsAdapter
类中的getItem()
方法)
如果我正确阅读了演示代码,那么每次用户单击选项卡之一时,都会创建一个新的Fragment吗? 因此,片段再次开始了整个生命周期( onAttach()
... onCreate()
...等)? 听起来效率很低。 我认为代表每个选项卡内容的片段应该只被实例化一次(也许在addTab()
方法中),然后保存到某个集合中,在调用getItem()
时可以将其提取。
如果我有任何误解,请纠正我。 我试图更好地了解如何管理片段。
我的钱是因为setCurrentItem()
函数实际上并不会破坏该选项卡中显示的现有Fragment。 否则,实际上没有太多理由使适配器具有可用选项卡列表。 可能是,当您从一个选项卡切换到另一个选项卡时, setCurrentItem()
只是将UI与当前活动的Fragment分离(或调用其onPause()
方法),然后为新选择的Fragment重新附加UI(或调用其onResume()
方法)。
但是,如果您有疑问,可以阅读源代码:)
希望能有所帮助,大卫
我能找到我的问题的解释这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.