【发布时间】:2018-12-03 12:31:44
【问题描述】:
想象一下,我的主要活动有 viewpager。我有 2 个名为 (F1 & F2) 的片段将处理到 viewpager。
再次想象在F1 片段中我想设置一个按钮。单击按钮时,我想处理其他片段调用SUBF1,但不处理F1 片段。
我的问题来了!!!是否可以用它的父级 F1 替换 SUBF1?我的想法是我想用它的父级片段替换子片段,该父级片段已保存在主要活动中的片段容器中?
【问题讨论】:
想象一下,我的主要活动有 viewpager。我有 2 个名为 (F1 & F2) 的片段将处理到 viewpager。
再次想象在F1 片段中我想设置一个按钮。单击按钮时,我想处理其他片段调用SUBF1,但不处理F1 片段。
我的问题来了!!!是否可以用它的父级 F1 替换 SUBF1?我的想法是我想用它的父级片段替换子片段,该父级片段已保存在主要活动中的片段容器中?
【问题讨论】:
final FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.details, new NewFragmentToReplace(), "NewFragmentTag");
ft.commit();
【讨论】:
你可以保存当前片段的实例,当你 从一个片段导航到另一个片段。当用户按下背部时 按钮,你可以通过标签打开特定的片段。
@Override
public void onBackPressed() {
String currentTag = currentFragment.getTag();
if(currentTag.equals(res.getString(R.string.fragmentTagTest)))
{
currentFragment = AnotherFragment;
replaceFragment() // integrate replace current fragment with new one.
}
}
【讨论】: