片段存储和重用:使用TabView的多个子片段
你好,我被困在多个片段存储和重用。片段存储和重用:使用TabView的多个子片段
- 我schenario
我有3 Tabs
(不只是viewpager片段变化)one Activity
和选项卡具有下图像所示2-4儿童片段作为等。
所以,当我打开活动。
1)Tab1加载并显示F1片段。
2)点击表2并显示F1片段。
3)点击F1中的按钮并移动到Tab2的F2片段
4)再次重复点击F2按钮并移动到Tab2的F3片段。
5)现在我点击Tab3并打开F1片段。
这5个伟大的堆栈中空
fragmentTransaction.addToBackStack(null);
但要知道,
6)当我点击TAB2它会显示F1片段始终。因为我管理下面的代码片段。
switch (selected) { case 0:
showFragment(TAB1.newInstance("", ""), TAG_HOME);
break;
case 1:
showFragment(TAB2.newInstance("", ""), TAG_FAV);
break;
case 2:
showFragment(TAB3.newInstance("", ""), TAG_ADD);
break;
}
- 我需要什么。
6)我需要像,假设我在TAB2挖掘它显示F3片段在此TAB2 becase的在last time
我Opened F3
片段。
那么如何处理商店标签明智片段Backstrack。
而且是还需要像下面的步骤(OnBackpress)
suppouse我在片2 F1 - > F2 - > F3
回按F3后 - > F2(backpress) - > F1(backpress) - >关闭活动
回答:
您可以存储Stack of fragment in Hashmap
当您更改选项卡取回。
HashMap<String, Stack<Fragment>> mStacks = new HashMap<String, Stack<Fragment>>(); mStacks.put(AppConstants.TAB_A, new Stack<Fragment>());
mStacks.put(AppConstants.TAB_B, new Stack<Fragment>());
mStacks.put(AppConstants.TAB_C, new Stack<Fragment>());
虽然推片段
mStacks.get(tag).push(fragment);
虽然流行片段
mStacks.get(mCurrentTab).pop();
对于工作演示 - Github
以上是 片段存储和重用:使用TabView的多个子片段 的全部内容, 来源链接: utcz.com/qa/265270.html