我遇到了一个问题,即在低端设备上转换到另一个片段时,堆栈上的上一个片段会显示
。假设我的堆栈上有三个片段;A、B 和 C。从片段 C 开始,我正在开始片段 A,但我在片段 A 加载之前看到了片段 B。除了使用似乎可以解决问题的过渡之外,还有什么方法可以防止这种情况。
我想我希望有一些属性在这种情况下可能有用。以下是我进行片段转换的方式。
private void fragReplaceContentFragment(Fragment fragment, boolean withBackStack) {
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(contentFragmentContainer.getId(), fragment, String.valueOf(fragment.hashCode()));
if (withBackStack) {
transaction.addToBackStack(null);
}
transaction.commitAllowingStateLoss();
}
尝试用
transaction.commit();
替换transaction.commitAllowingStateLoss();
并在此处提供反馈。