gpt4 book ai didi

ViewPager 中的 Android Master/Detail 流程

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:06:14 25 4
gpt4 key购买 nike

我遇到了一个我无法解决的问题,我在谷歌上搜索了很多但找不到解决方案。

在我的应用程序中,我有一个包含 3 个页面的 ViewPager。这些页面应该是 fragment 。这工作正常。然而,其中两个页面必须是主/从流(一个用于 friend 列表,一个用于新闻提要)。当我使用 eclipse 2 个 fragment 创建主/详细流程时,会创建 2 个 Activity 。 ItemListActivity(需要显示的)实现了 fragment 的回调,这是一个 Activity ,但 ViewPager 只接受其内部的 fragment 。

所以问题是:如何将 Master/Detail Flow 放置在 ViewPager 中?

非常感谢所有帮助!我在这里完全没有想法。

谢谢

最佳答案

Master/Detail Flow 只是同一内容 View 中使用的 2 个 fragment 的昵称,一个在左侧,一个在右侧。这是一般的想法。现在,Master/Detail Flow 可以在 Activity 内部使用(就像 Eclipse 对您描述的模板所做的那样)或在 Fragment 内部使用,幸运的是,因为 Android 4.2 在其他 Fragments 中引入了 Fragments(旧版本的 Android 兼容性库也支持这一点)安卓)。

Eclipse 生成的模板包含在一个 Activity(在平板电脑上)或 2 个 Activity(对于手机)中,因为 Eclipse 不知道 fragment 中需要主/详细信息。所以,您不能依赖 Eclipse 的模板。但是将 2 个 Fragments 放入另一个 Fragments 并不难。

您只需要暂时忘记 ViewPager,并在包含主/详细流程的 fragment 中完成您的工作,我们称它为 MasterFragment。

  1. 声明另外 2 个 fragment :InnerListFragment、InnerDetailFragment。也是手机的 InnerDetailActivity。
  2. 为 MasterFragment 声明 2 个 XML 布局文件:

    • layout/fragment_master.xml - 仅在其中添加 InnerListFragment <fragment>标签
    • layout-sw600dp/fragment_master.xml(适用于 >7 英寸的平板电脑)- 添加 InnerListFragment 和 InnerDetailFragment <fragment> 标签。
  3. 现在,我不会在这里详细介绍您的所有 java 代码,但在 MasterFragment.java 中,您需要检查设备是否为平板电脑,以便您知道 2 个 fragment 中的哪个在屏幕上处于 Activity 状态。

    • 如果是手机,则只有 InnerListFragment 可见。所以只需添加列表,onClickListener 就会启动 InnerDetailActivity,您需要在其中放置 InnerDetailFragment。

    • 如果它是平板电脑,则两个内部 fragment 都是可见的。单击列表项时不要启动新 Activity ,只需引用 MasterFragment 中的两个 fragment ,以便您可以在它们之间进行通信。

这是一般的想法。如果您仍有疑问,请尽管提问。

关于ViewPager 中的 Android Master/Detail 流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14547359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com