在我的应用程序中,我使用了recyclerview来刷新我的视图。但是当我使用方法时:notifyItemChanged(int position,Object payload),payload不为null,方法: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);
}
}
答案 0 :(得分:0)
我认为这个问题是由&#34; android:fitsSystemWindows =&#34; true&#34;&#34;引起的,但是我不知道为什么会告诉我原因。