项目场景:
网络异步请求数据,等待请求的接口回调返回请求的数据后,封装到list中,传给RecyclerView的适配器,调用notifiydatasetChanged()方法进行数据更新展示
问题描述:
传递数据,调用notifiydatasetChanged()的代码部分展示如下:
public void setmRadioList(List<Album> RadioList) {
if (mRadioList != null) {
mRadioList.clear();
mRadioList.addAll(RadioList);
}
notifyDataSetChanged();
}
但是数据并没有通过RecyclerView()展示出来。
原因分析:
经过打印日志,调试等多次查看,反复确认数据已经请求返回后,发现是自己没有RecyclerView的适配器的getItemCount()方法。始终让其返回值为0的原因
@Override
public int getItemCount() {
return 0;
}
解决方案:
<font color=# 333333>书写getItemCount()方法,当有数据时,让其返回数据的长度
@Override
public int getItemCount() {
if (mRadioList != null) {
return mRadioList.size();
}
return 0;
}
|