【问题标题】:Fragments change using tabs/bottomnavigation使用选项卡/底部导航更改片段
【发布时间】:2017-12-10 15:50:54
【问题描述】:

首先,我是 Android 新手。

我尝试将 Fragments 与底部导航一起使用,我的问题是,每次我更改我的 Fragment(例如,fragment1 -> fragment2)时,我的选项卡都不会随着 Fragment 的更改以及我所做的所有更改而更改片段1中的did没有保存。

为了更清楚:

我得到了底部导航栏/标签(我不知道该怎么称呼它)。在那个栏中,我有 3 个标签(例如;聊天、个人资料和联系人)。

  1. 首先,我转到个人资料选项卡并更改一些内容(例如我的姓名)。然后我转到联系人,当我回到个人资料选项卡时,我之前更改的名称不存在。它会返回到之前保存的信息。

如何保存这些信息?每次打开配置文件片段时,我是否必须将所有信息写入数据库并读取?有没有可能?

或者我可以将它保存在SharedPreference 或其他地方吗?请用示例代码给我一些建议,以便我理解..

  1. 例如,我在个人资料片段中有一个按钮,使用此按钮它将变为聊天片段。

    FragmentManager().beginTransaction().replace(R.id.frame,fragmentTwo).commit();

当我这样做时,我的片段会更改为另一个片段,但我在导航栏中的选项卡不会更改,它仍保留在配置文件选项卡中。

  1. 最后一个问题。如果我改变我的片段它会运行什么样的功能?我的意思是有onCreateonCreateViewonActivityCreated 等,我如何理解每个函数的运行方式。以该顺序依次排列。

请帮忙。我被困了好几个星期。

【问题讨论】:

    标签: java android android-fragments tabs


    【解决方案1】:
    1. 您可以简单地使用ViewPagerTabLayout。要使用TabLayout 获得底部导航栏,请查看答案here。您在配置文件片段中编辑的信息应该保留在配置文件片段中,因为您在使用TabLayout 时不会用另一个片段替换当前片段。

    2. 在使用 ViewPager 实现 TabLayout 时,您不必再担心在 Fragment 之间进行事务,因为在加载 Activity 时它们已经被填充。您将通过FragmentPagerAdapter 处理片段事务。

    3. 要了解Fragment 的生命周期,您需要查看developer.android.com 中的文档。请参阅创建片段部分以更好地了解函数被调用的顺序。

    在您的应用程序中实现TabLayout 相当简单。请查看documentation here 以获得更好的理解。希望有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-03
      • 1970-01-01
      • 1970-01-01
      • 2018-01-14
      • 2019-07-03
      • 2020-06-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多