我有一个程序,当一个用户点击一个按钮时,它会将他们从一个 fragment 带到另一个 fragment 。问题是我希望上一个 fragment 在单击后退按钮后重新出现。代码如下:
这是创建第一个 fragment :
getFragmentManager().beginTransaction().add(R.id.team_fragment_holder, teamFragment).addToBackStack(null).commit();
这是切换到第二个 fragment :
setContentView(R.layout.mixed_team_holder);
FragmentManager fragMan = getFragmentManager();
FragmentTransaction fragTrans = fragMan.beginTransaction();
fragTrans.add(R.id.team_1,team1);
fragTrans.add(R.id.team_2, team2);
fragTrans.commit();
现在的问题是,当我按下后退按钮时,会出现一个空白页面(我假设是 (R.id.team_fragment_holder)。有没有办法让第一个 fragment 连同上面的所有信息一起重新出现?
注意:所有 fragment 都扩展了 listfragment。
提前致谢。
最佳答案
您的初始 fragment 交易不应添加到后台堆栈,而第二个应该。按下返回时看到的空白页面是删除 teamFragment
的结果,因为它在后台堆栈上。
getFragmentManager().beginTransaction().add(R.id.team_fragment_holder, teamFragment).commit();
和
FragmentManager fragMan = getFragmentManager();
FragmentTransaction fragTrans = fragMan.beginTransaction();
fragTrans.add(R.id.team_1,team1);
fragTrans.add(R.id.team_2, team2);
fragTrans.addToBackStack(null);
fragTrans.commit();
关于android - 回到上一个 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23795511/