使用 Viewpager 从 TabHost 切换到 Fragments:将我的所有代码放在哪里
Posted
技术标签:
【中文标题】使用 Viewpager 从 TabHost 切换到 Fragments:将我的所有代码放在哪里【英文标题】:Switching from TabHost to Fragments with Viewpager: Where to put all my Code 【发布时间】:2012-02-15 07:17:37 【问题描述】:到目前为止,我已经使用 TabHost
为我的应用程序创建 3 个选项卡。每个选项卡都由一个 Activity 表示,我在其中通过 setContentView(R.layout.something)
从 XML 文件中获取布局。
所以 3 个选项卡、3 个活动和 3 个 XML 文件。
现在我偶然发现了片段,这是一种新的更好的方法,所以这是我的问题。
Fragment 处理 UI,因此创建 3 个 Fragment 由 FragmentPagerAdapter
处理。在每个片段中,我通过 XML 文件创建内容。
但是我应该把关于哪个按钮做什么的所有代码放在哪里,从数据库读取或写入它等等。到目前为止,这一切都在Tabhost
加载的每个活动中。
我是否将所有代码放入每个片段的onCreate()
等方法中,还是有更好更简洁的方法?
【问题讨论】:
【参考方案1】:您提出的方法非常好!
关于在哪里做什么,我建议您在每个片段的 onCreateView() 中创建/更改页面(片段)的 UI,以及 onActivityCreated 中的任何逻辑(读取数据库等) ()。我建议在片段中避开 onCreate() ,因为它在与 Activity 关联之前被调用(防止您执行诸如对内容提供者的托管查询之类的事情)。按钮点击监听器可以在 onCreateView 或 onActivityCreated() 中定义。
如果有更具体的,请告诉我。别忘了,标准寻呼机不包含一行标签标题/图标,但 Google ViewPagerIndicator 和您会找到一个可以用来执行此操作的库。
【讨论】:
以上是关于使用 Viewpager 从 TabHost 切换到 Fragments:将我的所有代码放在哪里的主要内容,如果未能解决你的问题,请参考以下文章
Android 2.2 + ViewPager和Fragments实现TabHost使用教程
安卓TabHost+ViewPager+RadioGroup多功能模板整理
Android ViewPager+TabHost实现首页导航