android - 使用 Viewpager : Where to put all my Code 从 TabHost 切换到 Fragments

标签 android android-tabhost fragment android-viewpager

到目前为止,我一直使用 TabHost为我的应用程序创建 3 个选项卡。每个选项卡都由一个 Activity 表示,我在其中通过 setContentView(R.layout.something) 获取布局。从 XML 文件。 所以 3 个选项卡、3 个 Activity 和 3 个 XML 文件。

现在我偶然发现了 fragment ,这是新的更好的方法,所以这是我的问题。

Fragments 处理 UI,因此创建 3 个由 FragmentPagerAdapter 处理的 Fragments .在每个 fragment 中,我通过 XML 文件创建内容。

但是我应该把关于哪个按钮做什么的所有代码放在哪里,从数据库读取或写入等等。到目前为止,所有这些都在由 Tabhost 加载的每个 Activity 中。 .

我是否将所有代码都放入了 onCreate() 中?等每个 fragment 的方法还是有更好更清洁的方法?

最佳答案

您提出的方法非常好!

就在哪里做什么而言,我建议您在每个 fragment 的 onCreateView() 中创建/更改页面( fragment )的 UI,以及 onActivityCreated 中的任何逻辑(读取数据库等) ().我建议在 fragment 中避开 onCreate() ,因为它在与 Activity 关联之前被调用(防止你做诸如对内容提供者的托管查询之类的事情)。可以在 onCreateView 或 onActivityCreated() 中定义按钮点击监听器。

有什么更具体的,请告诉我。不要忘记,标准寻呼机不包含一行标签标题/图标,但 Google ViewPagerIndicator 和您会找到一个库,您可以使用它来执行此操作。

关于android - 使用 Viewpager : Where to put all my Code 从 TabHost 切换到 Fragments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8946245/

相关文章:

java - 来自除主布局之外的其他布局的小部件上的空指针异常

android - 为什么在多选项卡 Activity 中未检测到后退按钮?

android - 如何在对话框中使用 TabHost?

android - 避免在 ViewPager 中切换页面,直到下一页的内容准备就绪

android - 将 ListView 项目的状态更改为以编程方式激活?

android - 如何让 BottomSheetDialogFragment 覆盖全屏?

android - 接收 XML 文件已损坏(在 sprint 网络上)?

android - ImageView 在我的图像周围添加了空白

android - 哪个是移动应用程序开发的最佳跨平台框架?

android-tabhost - 如何更改 tabhost 中的 Tab 焦点?