【发布时间】:2016-11-22 11:52:58
【问题描述】:
在我的应用程序中,我使用 recyclerview 刷新我的视图。但是当我使用方法时:notifyItemChanged(int position, Object payload),payload 不为空,方法:onBindViewHolder(VH holder, int position, List payloads)不工作。请告诉我为什么?谢谢。
调用方法后网络请求成功:
for (int i=0; i<mDatas.size(); i++) {
Device d = mDatas.get(i);
if (modelId.equals(d.getModelId())) {
if (getHeaderView() != null) {
adapter.notifyItemRangeChanged(i + 1, 1,payload);
} else {
adapter.notifyItemRangeChanged(i, 1,payload);
}
}
}
我的适配器:
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position, List<Object> payloads) {
if (payloads.isEmpty()) {
onBindViewHolder(holder, position);
} else {
int viewType = getItemViewType(position);
if(viewType == TYPE_HEADER || viewType == TYPE_FOOTER) return;
final int pos = getRealPosition(holder);
final T data = mDatas.get(pos);
onBind(holder, pos, data, payloads);
}
}
【问题讨论】:
-
在您传递数据的地方发布您的适配器代码和活动
-
调用方法后网络请求成功:for (int i=0; i
-
我的适配器:public void onBindViewHolder(RecyclerView.ViewHolder holder, int position, List
-
您能否编辑您的问题并将此代码粘贴到其中以提高可读性??
-
对不起,我得重新编辑问题
标签: android android-layout android-recyclerview