当前位置: 首页 > 知识库问答 >
问题:

Android actionbar选项卡:每次单击该选项卡时,都会重新创建每个选项卡的内容

林辰钊
2023-03-14

我正在开发一个应用程序,使用ActionBar导航,我有3个标签(我不使用tabhost)如下图:

在第一个选项卡中,将显示一个名为FragmentListItem的片段,如果单击Item1,FragmentListItem将被另一个名为FragmentItemDetails的片段替换,该片段显示所选项的详细信息。

我的问题是,当我选择Tab2或tab3,然后再次选择Tab1,我得到的不再是fragmentitemetail,而是FragmentListItem。

那么,这是为什么呢?如果我希望fragmentitemetail仍然存在,而不是FragmentListItem,怎么做?

而且,当我按后退按钮时(当选择Tab1时),我希望碎片将再次显示。我意识到fragment类没有onbackpressed方法要实现。

共有1个答案

洪永长
2023-03-14

对这个问题有不同的解决办法

一个可能的解决方案是为该选项卡使用自己的fragmentManager。这可以通过片段的getChildFragmentManager()方法实现。

另一个解决方案可以是一个标志来标识哪个片段在TAB1上显示为最后一个。如果知道最后显示的是哪个片段,可以通过使用FragmentManager的FindFragmentByTag(tag)方法在BackStack中搜索这个片段来显示这个片段。

 类似资料:
  • 在jQuery中创建选项卡。单击其他选项卡时,所有选项卡都将消失。我想不出解决办法 以下是无法正常工作的页面:http://www.sleepfullnights.com/products/sfn-537 这是另一个用它工作的人的JSFIDLE:http://jsfiddle.net/gravitybox/7pHg4/我已经复制并粘贴了其中的每个元素到页面中,问题仍然存在。 一个人指出,当点击标签

  • 我在android中使用BottomNavigationView来制作一个像Instagram一样的应用程序。我在NavigationTabs中使用片段。应用程序有5个标签初始我已经设置为活动标签的中间标签和加载它一旦应用程序启动。当我单击任何其他选项卡时,就会进行网络调用并加载数据。现在,当我按下on back按钮或再次单击last选项卡(在启动时加载)时,片段将被重新创建,并进行网络调用以加载

  • 我有一个片段与片段寻呼机适配器实现表布局每个选项卡有一个回收器视图与一些项目(相同的回收器视图适配器为所有recylerview)通过实现OnItemClick侦听器点击每个项目调用一个活动,实现了一个视图寻呼机与片段StatePagerAdapter,以显示回收器视图项目基于滑动的表布局视图寻呼机显示上一个或下一个选项卡项目每个项目的数据存储在一个数组列表中。 一个片段和两个片段和…是相似的:

  • 我正在尝试在我的网站上做一个标签功能,我希望有那个标签响应。所以我做了这样的代码: null null 现在我有两样东西, > 首先,我希望在单击标题(伦敦、巴黎、东京)时关闭选项卡,然后在单击该标题时从该标题中删除活动类。 其次,我希望有两个标签在行的响应,第三个标签在第二行,然后单击打开被点击的标签,然后向下推第三个标签。 任何提示都会有帮助,提前谢谢

  • 我使用ViewPager作为主布局,对于单个寻呼机视图,我使用Fragments。选项卡是操作栏的一部分。我想使用操作栏中的刷新按钮刷新当前选项卡。 我的MainActivity.java 这是我的一个Tabs StartPage.java

  • 两个tab <div class="ui-tab "> <ul class="ui-tab-nav ui-border-b "> <li class="current"><span>热门</span></li> <li><span>热门</span></li> </ul> <ul class="ui-tab-content" sty