CymChad / BaseRecyclerViewAdapterHelper

BRVAH:Powerful and flexible RecyclerAdapter
http://www.recyclerview.org/
MIT License
24.29k stars 5.15k forks source link

上拉加载时,图片显示问题 #957

Closed goodluckier closed 7 years ago

goodluckier commented 7 years ago

用Glide加载图片,设置了placeholder,之前没用brvah显示正常;使用后加载时,偶尔会出现从预设的图片变成加载图片,按说已显示的图片不应该变了,求解答,谢谢.

sj853 commented 7 years ago

我好像也遇到同样问题

goodluckier commented 7 years ago

@sj853 可能是brvah对view做了处理,之前我用了一个根据不同状态显示不能布局的框架,上滑后,但不能再显示滑出屏幕外的view

1109993488 commented 7 years ago

上拉加载时? 获取到数据刷新数据后有的item图片出问题了?

goodluckier commented 7 years ago

@1109993488 新数据的图片没问题,旧数据已显示的图片会从占位图变成加载图

1109993488 commented 7 years ago

占位图变成加载图?占位图是什么? 你怎么刷新数据的?

goodluckier commented 7 years ago

@1109993488 //这是上拉加载 @Override public void onPullUpToRefresh(PullToRefreshBase refreshView) {// 上拉加载 if (nowPage < totalPages) { nowPage++; bannerList.clear(); getData(); } else {//最后一页提示无数据 ToastUtils.showShortToast("无更多数据"); refresh_headnews.onRefreshComplete(); }

        }

//添加列表数据 List list = headNewsEntity.getList(); if (list.size() > 0) { headnewsList.addAll(list); }

//刷新 case 0x1: headNewsQuickAdapter.notifyDataSetChanged();//刷新 refresh_headnews.onRefreshComplete(); break;

goodluckier commented 7 years ago

我觉得是headNewsQuickAdapter.notifyDataSetChanged();刷新了屏幕,要不用setNewData和addData试试

1109993488 commented 7 years ago

bannerList.clear(); 这个是什么, 你调用adapter提供的addData 添加数据就可以了,不需要自己处理notify

goodluckier commented 7 years ago

@1109993488 bannerList.clear(); 这是头布局数据,不用管它,如果用setNewData和addData添加数据,那得在 //添加列表数据 List list = headNewsEntity.getList(); if (list.size() > 0) { //这里判断刷新还是加载,选择setNewData和addData }

CymChad commented 7 years ago

第一次加载数据 用setNewData,追加数据用addData

goodluckier commented 7 years ago

@CymChad ok