防止现有活动在更改片段时闪烁



我遇到了一个问题,即在低端设备上转换到另一个片段时,堆栈上的上一个片段会显示

假设我的堆栈上有三个片段;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();并在此处提供反馈。

最新更新