I ran into a problem, I was not able to delete the item in RecyclerView. I am trying to search the Internet, but I donβt see any solution. I am following this Android RecyclerView message adding and removing elements But I still could not delete the selected element Below is my code for my adapter and fragement
RecyclerViewAdapter.java
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> { List<VideoDetails> contents2; Context mContext; ImageLoader imageLoader; static final int TYPE_HEADER = 0; static final int TYPE_CELL = 1; public RecyclerViewAdapter(List<VideoDetails> contents) { this.contents2 = contents; } public RecyclerViewAdapter(Context context, List<VideoDetails> contents) { mContext = context; this.contents2 = contents; imageLoader = new ImageLoader(context); } @Override public int getItemViewType(int position) { return position; } @Override public int getItemCount() { return contents2.size(); } @Override public RecyclerViewAdapter.ViewHolder onCreateViewHolder(final ViewGroup parent, final int viewType) { View view = null; view = LayoutInflater.from(parent.getContext()) .inflate(R.layout.list_item_card_small2, parent, false); ViewHolder vh = new ViewHolder(view); return vh; } @Override public void onBindViewHolder(ViewHolder holder,final int position) { holder.title.setText(contents2.get(position).getTitle()); holder.image.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view) { Log.d("thien.van","on Click onBindViewHolder"); contents2.remove(position); notifyItemRemoved(position); notifyItemRangeChanged(position, contents2.size()); } }); } public Bitmap getThumbnail(String str) { Bitmap bMap = ThumbnailUtils.createVideoThumbnail(str, MediaStore.Video.Thumbnails.MINI_KIND); return bMap; } public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { public TextView title; public ImageView image; public ProgressBar progressBar; public ViewHolder(View itemView) { super(itemView); title = (TextView) itemView.findViewById(R.id.title); image = (ImageView) itemView.findViewById(R.id.thumbnail); progressBar = (ProgressBar) itemView.findViewById(R.id.progress);
}
RecyclerViewFragment
public class RecyclerViewFragment extends Fragment { private RecyclerView mRecyclerView; private RecyclerView.Adapter mAdapter; private static final int ITEM_COUNT = 2; private List<Object> mContentItems = new ArrayList<>(); private static List<VideoDetails> mContentItems2 = new ArrayList<>(); public static RecyclerViewFragment newInstance() { return new RecyclerViewFragment(); } public static RecyclerViewFragment newInstance(List<VideoDetails> contentItems) { RecyclerViewFragment myFragment = new RecyclerViewFragment();
}
I could not delete the item inside the adapter class. Can anybody help me?
source share