2015-09-12 76 views
-2

我使用viewpager + fragment + RecyclerView + SwipeRefreshLayout。 作为gif显示RecyclerView刷新时显示空白,它可以显示后拉起RecyclerView。 谁能告诉我什么原因和如何解决问题?android 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); 
+0

adapter = null;删除这一行 –

回答

0

最后,我找到了自己soultion。

其实当片段回来时,refresh_listview.getAdapter()将变为null。

所以它应该是一个判断。 如果为空,则应制作新的适配器