我看过很多例子但是我没有得到完美的解决方案。要求是点击硬件后面我不得不解散片段并再次获得相同的活动。
我在Activity中覆盖onbackpress,如:
@Override
public void onBackPressed() {
int count = getFragmentManager().getBackStackEntryCount();
Toast.makeText(this, ""+count, Toast.LENGTH_SHORT).show();
if (count == 0) {
super.onBackPressed();
//additional code
} else {
getFragmentManager().popBackStack();
}
super.onBackPressed();
}
这里,当我导航到一个片段,因此它的计数为1,当我按下后退按钮时,它会直接关闭当前活动和片段,并通过创建按钮放置片段部分 getActivity()。getFragmentManager() .popBackStack(); ,它的工作原理很完美,但我需要在backpress中使用..Ihhhort我想继续当前片段中附加片段的活动。将会感谢这个解决方案。
答案 0 :(得分:0)
你的方法错了,可能是你在以错误的方式思考。
让我们说Activity有3个片段
1-主要内容 2-点击第一个片段上的内容后显示一些内容 3-点击第二个片段上的内容后显示内容
因此,当您的活动开始时,将会加载一个已经加载的片段,这是第一个片段。
现在,如果要显示第二个片段,则将第一个片段替换为第二个片段。
当您按下后退按钮时,第二个片段将弹出,第一个片段将在那里。
这就是你如何解决问题的方法。