android recyclerview刷新bug?

时间:2015-09-12 16:02:19

标签: android android-recyclerview

我使用viewpager + fragment + RecyclerView + SwipeRefreshLayout。 如同gif在RecyclerView刷新时显示的那样,它显示为空白,并且可以在拉出RecyclerView后显示。 谁能告诉我原因以及解决问题的原因是什么?

http://www.sszhe.com/static/images/1.gif

    refresh_listview.setHasFixedSize(false);
    StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(2, OrientationHelper.VERTICAL);
    refresh_listview.setLayoutManager(staggeredGridLayoutManager);

...................

try{
        Document doc=Jsoup.parse(htmlstr,GB.site);
        Elements es=doc.select(array.get(3));
        if(es.size()>=1){
            activity.clearOneArray(titleNum);
            adapter.clearDate();
            activity.convertDateForItem(GB.getPubuItem(es,array), titleNum);
        }

    }catch(Exception e){

    }
    adapter=null;
    adapter=new Dynamic2Adapter(this, activity, titleNum);
    refresh_listview.setAdapter(adapter);
    refresh_listview.getAdapter().notifyItemRangeChanged(0, activity.subCategoryItems.get(titleNum).size()-1);
    refresh_listview.getLayoutManager().requestLayout();
    refresh_listview.requestLayout();
    refresh_listview.smoothScrollToPosition(0);

1 个答案:

答案 0 :(得分:0)

最后,我自己找出了灵魂。

实际上当片段返回时,refresh_listview.getAdapter()将变为null。

所以它应该是对此的判断。 如果为null,则应创建一个新的适配器