Android 安卓:交换机碎片重叠问题
我有一个FriendActivity,创建FriendFragment并显示。 当switchFrag被调用时,我切换到AddFriendFragment。我遇到的问题是,我切换到AddFriendFragment,两个片段重叠。我只想显示AddFriendFragment,我应该如何隐藏FriendFragmentAndroid 安卓:交换机碎片重叠问题,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
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);