Android:SwipeRefreshLayout导致RecyclerView在截图时不更新?

Android:SwipeRefreshLayout导致RecyclerView在截图时不更新?,android,android-recyclerview,Android,Android Recyclerview,首先,我正在创建一个应用程序,它需要像iOS中那样的透明活动+模糊 我决定使用整个窗口的getDrawingcache View decorView = activity.getWindow().getDecorView(); decorView.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_LOW); decorView.setDrawingCacheEnabled(true);

首先,我正在创建一个应用程序,它需要像iOS中那样的透明活动+模糊

我决定使用整个窗口的getDrawingcache

        View decorView = activity.getWindow().getDecorView();
        decorView.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_LOW);
        decorView.setDrawingCacheEnabled(true);
        decorView.buildDrawingCache();
        image = Bitmap.createBitmap(decorView.getDrawingCache());
        decorView.destroyDrawingCache();
        decorView.setDrawingCacheEnabled(false);
然后做一些模糊处理,像这样设置新活动的背景

        activity.getWindow().setBackgroundDrawable(bd);
这种方法非常有效,除非我的原始活动包含。我得到的结果总是返回我第一次启动新活动时的相同位图

第一次启动活动时,背景图像设置正确。但之后(第二、第三等…)的背景图像与第一个相同

我需要帮助,任何建议都将不胜感激,谢谢

如果标题不好,可以自由编辑

更新

在对这个问题进行了几天的调查之后,我发现真正的原因是布局问题。我的屏幕截图在第一次调用onRefreshListener后不会更新。

我也有同样的问题

添加:

        mRecyclerView.postDelayed(new Runnable()
        {
            @Override
            public void run()
            {
                mRecyclerView.layout(0,0,mRecyclerView.getWidth(),mRecyclerView.getHeight());

                if (mRecyclerView.isDrawingCacheEnabled())
                {
                    mRecyclerView.destroyDrawingCache();
                }
            }
        },50);

mSwipeLayout.setRefreshing之后(false)为我解决了问题

谢谢您的帮助,我将尝试您的方法:)但实际上,如果使用备用库避免此问题,您也可以尝试