123都有自己的fragment,然后3fragment上有个item,然后这个item是个新的fragment,然后如果此时打开了item的fragment再去点击12页面,就会造成视图的重叠。
请问这时候应该怎么解决?
你是通过add方法去切换fragment的吧,这样会导致上层覆盖下层fragment。建议使用replace方法去切换fragment。
你为啥不用TabLayout + ViewPager呢?
使用hide/show的方式, 提供参考:
/**
* 使用hide/show展示MainActivity的fragment
* 加锁防止同时点击导致的跳转混乱问题;
*/
public synchronized void replaceMainContent(Fragment fragment) {
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
Fragment exitFragment;
boolean isExit = false;
for (int i = 0; i < fragmentsList.size(); i++) {
exitFragment = fragmentsList.get(i);
if (exitFragment != null)
fragmentTransaction.hide(exitFragment);
if (exitFragment == fragment)
isExit = true;
}
if (!isExit) {
fragmentsList.add(fragment);
fragmentTransaction.add(R.id.fl_main, fragment);
}
fragmentTransaction.show(fragment);
fragmentTransaction.commitAllowingStateLoss();
}