Android RecyclerView Duplicate Item When Scrolling

2019-02-17 02:23发布

问题:

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();
   }