【发布时间】:2012-02-09 16:49:40
【问题描述】:
我意识到这个问题之前已经被问过,但是到目前为止之前的答案已经让我明白了。场景如下:我们有一个仪表板片段(A),它将用户引导到登录屏幕(B)。成功登录后,他们会转到列表视图 (c)。在后台我想返回 A,因为用户不需要再次看到登录屏幕。此外,在成功登录后,我们将详细信息存储在共享首选项中,并在下次自动登录 B 中,这一切都按计划进行。
我有以下 FragmentHelper 方法:
public static void goToNextFragement(Fragment fragment, int container, boolean addToBackStack, Fragment ctx)
{
// Create new fragment and transaction
FragmentTransaction transaction = ctx.getSupportFragmentManager().beginTransaction();
transaction.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
transaction.replace(container, fragment);
if(addToBackStack)
transaction.addToBackStack(null);
// Commit the transaction
transaction.commit();
}
在从 B 到 C 的事务中,我将布尔 addToBackStack 设置为 false,以便不调用 transaction.addToBackStack(null);。这再次运作良好,但之后是我的问题开始。
当用户按回 C 并返回到 A 时,我仍然可以在 A 的视图下看到 C 的膨胀视图。
任何帮助将不胜感激。我希望我的图表有助于保持简单。
【问题讨论】: