我有两个片段,A和B.之前,A和B都是顶级,当我想从一个移动到另一个时,我会使用像
这样的东西FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.container, BFragment.newInstance(), B_TAG)
.disallowAddToBackStack()
.commit();
现在客户想要从B,按下后退按钮,应用程序转到A,所以我需要让B成为A的孩子,因此过渡看起来像
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.add(R.id.container, BFragment.newInstance(), B_TAG)
.addToBackStack(null)
.commit();
从B到A
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.executePendingTransactions();
fragmentManager.popBackStack();
fragmentManager.executePendingTransactions();
问题是,如果用户在B中更改某些内容,则A仍然具有旧数据。
有没有办法知道我是通过点击“后退”按钮并从后台弹出它来到达A所以我可以刷新数据?
另外,您是否看到了处理这两个片段之间移动的更好方法?
答案 0 :(得分:0)
我会存储公共数据:
然后在每个UI片段中,您可以在恢复片段时更新视图。