出现在背景中的Android片段

出现在背景中的Android片段,android,android-fragments,fragment,Android,Android Fragments,Fragment,我有一个关于android碎片的问题。我有3个片段,比如A、B和C。从A我移动到B,我有一个if语句,检查共享首选项中的值,如果值存在,它将移动到C。如果我按下片段C上的后退按钮,它将导航到片段A,但片段C在背景中也可见。我不知道怎么修。我已经尝试了这么多问题的几乎所有解决方案。 这是我的密码 在片段A中单击按钮 Fragment fragment = new MyAccount(); FragmentManager fragmentManager = getFragmentManager();

我有一个关于android碎片的问题。我有3个片段,比如A、B和C。从A我移动到B,我有一个if语句,检查共享首选项中的值,如果值存在,它将移动到C。如果我按下片段C上的后退按钮,它将导航到片段A,但片段C在背景中也可见。我不知道怎么修。我已经尝试了这么多问题的几乎所有解决方案。 这是我的密码 在片段A中单击按钮

Fragment fragment = new MyAccount();
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.frame_container, fragment).addToBackStack(null)
.commit();
在片段B中

if(RegDetails.contains("MSISDN")&&RegDetails.contains("PIN")){
            Fragment fragment = new ReferFriend();
            FragmentManager fragmentManager = getFragmentManager();
            fragmentManager.beginTransaction()
            .replace(R.id.frame_container, fragment)
            .commit();
        }
从B移到c,工作正常。但当我单击C上的后退按钮时,片段A可见,但片段C在背景中也可见。

我看到两个选项:

  • 向a片段的根视图添加实心背景(颜色)
  • 使用
    .show()
    .hide()

在本例中不是问题,但我发现片段仍然可见时有问题-然后我发现我使用了
.replace(R.id.container,
)来替换一个片段,而
.replace(R.id.content,
)来替换另一个片段。Doh!