getChildFragmentManager replace 之后 fragment有重叠
getChildFragmentManager().beginTransaction().
replace(R.id.mainHolder, new WebFragment("https://www.baidu.com")).addToBackStack(null).commit();
binding.btnToFriend.setOnClickListener(v->{
Log.d("btnToFriend", "onCreateView: btnToFriend");
getChildFragmentManager().beginTransaction().
replace(R.id.mainHolder, new FriendFragment()).addToBackStack(null).commit();
});
binding.btnToBird.setOnClickListener(v->{
//ActivityUtil.startActivity(activity, MainActivity.class);
ActivityUtil.startActivity(activity, com.example.compx202_finalproject.MainActivity.class);
});
//replace getSupportFragmentManager 下面还有之前的
binding.btnToCollectRub.setOnClickListener(v -> {
getChildFragmentManager().beginTransaction().
replace(R.id.mainHolder,new CollectRubFragment()).addToBackStack(null).commit();
//会重叠 因为 这里是用了activity.getSupportFragmentManager(),而前面用的是getChildFragmentManager()
//是不一样的fragment 管理器
//activity.getSupportFragmentManager().beginTransaction().
// replace(R.id.mainHolder, new CollectRubFragment()).
// addToBackStack(null).commit();
});
根据
https://segmentfault.com/q/1010000003947967/
我知道了 是因为我用了不同的FragmentManager
之前用的这个
activity.getSupportFragmentManager().beginTransaction().
replace(R.id.mainHolder, new CollectRubFragment()).
addToBackStack(null).commit();
后来换成
getChildFragmentManager().beginTransaction().
replace(R.id.mainHolder,new CollectRubFragment()).addToBackStack(null).commit();
就好了
因为要用一样的 getChildFragmentManager