Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓:交换机碎片重叠问题_Android_Android Layout_Android Fragments - Fatal编程技术网

Android 安卓:交换机碎片重叠问题

Android 安卓:交换机碎片重叠问题,android,android-layout,android-fragments,Android,Android Layout,Android Fragments,我有一个FriendActivity,创建FriendFragment并显示。 当switchFrag被调用时,我切换到AddFriendFragment。我遇到的问题是,我切换到AddFriendFragment,两个片段重叠。我只想显示AddFriendFragment,我应该如何隐藏FriendFragment public class FriendActivity extends AppCompatActivity { private static final String T

我有一个FriendActivity,创建FriendFragment并显示。 当switchFrag被调用时,我切换到AddFriendFragment。我遇到的问题是,我切换到AddFriendFragment,两个片段重叠。我只想显示AddFriendFragment,我应该如何隐藏FriendFragment

 public class FriendActivity extends AppCompatActivity {
    private static final String TAG = FriendFragment.class.getSimpleName();

    private FriendContract.Presenter mPresenter;
    public static final String EXTRA_USER_ID = "USER_ID";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_friend);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    String userId = getIntent().getStringExtra(EXTRA_USER_ID);
    FriendFragment friendFragment = (FriendFragment) getSupportFragmentManager().findFragmentById(R.id.friendListFrame);
    if (friendFragment == null) {
        friendFragment = FriendFragment.newInstance(userId);
        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
        transaction.add(R.id.friendListFrame, friendFragment);
        transaction.commit();
    }
    mPresenter = new FriendPresenter(userId, friendFragment, this);

}
public void switchFrag(){
    Log.i(TAG,"switch to add friend");
    String userId = getIntent().getStringExtra(EXTRA_USER_ID);
    AddFriendFragment addFriendFragment = AddFriendFragment.newInstance(userId);
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    transaction.add(R.id.friendListFrame, addFriendFragment);
    transaction.commit();
}
}

我试图为FrameLayout设置android:background=“@android:color/white”,但没有成功。
如果您正在
switchFrag()
中执行
add()
事务,将不胜感激。听起来您需要替换()。尝试为片段布局设置背景设置背景色添加friendFragment的充气布局。使用transaction.replace(R.id.friendListFrame,friendFragment);而不是transaction.add(R.id.friendListFrame,friendFragment);