I have a problem in RecyclerView
. When I move item in RV and then scroll, saw some items has duplicated.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
RecyclerView
will recycle the view.When you delete data,call notifyItemChanged(pos)
or notifyDataSetChanged()
method.
回答2:
I know its late but hope it will help someone. Override these two methods in your adapter.
@Override
public long getItemId(int position) {
return position;
}
@Override
public int getItemViewType(int position) {
return position;
}
回答3:
It is your notifyDataSetChanged()
that is the issue.
Check that you used it properly.
That is:
private void parseJsonFeed(JSONArray response) {
for (int i = 0; i < response.length(); i++)
try {
JSONObject obj = response.getJSONObject(i);
MyData myData = new MyData();
myData.setContent_title(obj.getString("content_title"));
...
...
...
...
// adding content to array
homeList.add(myData);
} catch (JSONException e) {
e.printStackTrace();
}
//Notifying the adapter that data has been added or changed
//this must always be called else the recycler would not understand when to stop or start working.
recyclerViewAdapter.notifyDataSetChanged();
}