替换fragment然后快速回按导致UI响应延迟,阴影和角点效果消失

mr.*_*tea 5 android android-fragments android-cardview android-recyclerview

我遇到了一个非常奇怪的问题。我的情况是:

我构建了一个包含许多页面的应用程序,每个页面都是一个Fragment. 我在每个页面中都使用了RecyclerView和。CardView我的主页布局如下:

在此输入图像描述

当我单击图像项目导航到详细信息页面然后立即按后退按钮时,我的主页会显示,但是:

在此输入图像描述

正如您所看到的,所有阴影和角效果都消失了,滚动不起作用,当我触摸某个项目时,需要几秒钟才能导航详细信息页面。当显示详细信息页面时,一切恢复正常。这是我的替换片段方法:

public void replaceBackgroundFragment(Fragment mf, String tag, boolean addBackStack) {
    if (mf != null && (currentFragmentTag == null || !currentFragmentTag.equals(tag))) {
        FragmentTransaction ft = fragmentManager.beginTransaction();
        ft.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left,
                R.anim.slide_in_left, R.anim.slide_out_right);
        ft.replace(R.id.rl_background, mf, tag);
        if (addBackStack) {
            mf.setCanBack(true);
            ft.addToBackStack(tag);
        }
        ft.commit();
        pendingFragment = null;
        pendingTag = null;
    }
}
Run Code Online (Sandbox Code Playgroud)

当点击一个项目时:

public void onItemClick(MainBanner item) {
      MoviePlayerFragment fragment = MoviePlayerFragment.newInstance(item.getItemID());
      activity.replaceBackgroundFragment(fragment, "movie_player_fragment" + item.getItemID(), true);
}
Run Code Online (Sandbox Code Playgroud)

编辑setRetainInstance(true);在我的Fragment

有人能让我知道发生了什么事吗?

Mas*_*sum 0

您可以使用 ft.add(R.id.rl_background, mf, tag); 而不是 ft.replace(R.id.rl_background, mf, tag);