Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用选项卡/底部导航更改片段_Java_Android_Android Fragments_Tabs - Fatal编程技术网

Java 使用选项卡/底部导航更改片段

Java 使用选项卡/底部导航更改片段,java,android,android-fragments,tabs,Java,Android,Android Fragments,Tabs,首先,我是Android新手 我尝试在底部导航中使用片段,我的问题是,每次我更改我的片段(例如,fragment1->fragment2),我的选项卡不会随着片段中的更改而更改,我在fragment1中所做的一切都不会保存 更清楚地说: 我有底部的导航栏/标签(我不知道该怎么称呼它)。在该栏中,我有3个选项卡(例如聊天、个人资料和联系人) 首先,我转到profile选项卡并更改一些内容(例如我的名字)。然后我转到contacts,当我回到profile选项卡时,我先前更改的名称不在那里。它返回到

首先,我是Android新手

我尝试在底部导航中使用片段,我的问题是,每次我更改我的
片段
(例如,fragment1->fragment2),我的选项卡不会随着
片段
中的更改而更改,我在fragment1中所做的一切都不会保存

更清楚地说:

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

  • 首先,我转到profile选项卡并更改一些内容(例如我的名字)。然后我转到contacts,当我回到profile选项卡时,我先前更改的名称不在那里。它返回到以前保存的信息
  • 如何保存此信息?我是否必须在数据库中写入所有信息,并在每次打开概要文件片段时读取这些信息?有可能吗

    或者我可以将其保存在
    共享参考
    或其他地方吗?请用示例代码给我一些建议,以便我能理解

  • 例如,我在profile fragment中有一个按钮,使用这个按钮它将更改为chat fragment

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

  • 当我这样做时,我的片段会更改为另一个片段,但导航栏中的选项卡不会更改,它会保留在profile选项卡中

  • 最后一个问题。如果我改变片段,它会运行什么样的函数?我的意思是有
    onCreate
    onCreateView
    onActivityCreated
    等等,我如何理解每个函数是如何运行的。按顺序依次排列
  • 请帮忙。我被困了好几个星期

  • 您只需使用
    查看页面
    表格布局
    。要使用
    TabLayout
    获取底部导航栏,请查看答案。您在概要文件片段中编辑的信息应保留在概要文件片段中,因为在使用
    表格布局时,您没有用另一个片段替换当前片段

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

  • 要了解
    片段的生命周期
    ,您需要查看中的文档。请参阅创建片段一节,以更好地了解调用函数的顺序

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