在使用Fragment导航时,使用getChildFragmentManager()方法代替getFragmentManager()方法即可解决该问题。
示例代码:
// 使用getFragmentManager()方法可能会导致碎片导航错误 getFragmentManager().beginTransaction() .replace(R.id.fragment_container, new MyFragment()) .addToBackStack(null) .commit();
// 为避免碎片导航错误,应使用getChildFragmentManager()方法 getChildFragmentManager().beginTransaction() .replace(R.id.fragment_container, new MyFragment()) .addToBackStack(null) .commit();