notifyDataSetChange not working on RecyclerView
android, android-recyclerview, android-support-library, custom-adapter
Solution
My issue was that I was not notifying the change on the main thread, therefore the change was not visible right away. It is the same issue pointed out here.
Problem
I'm working with Android's new RecyclerView but I can't get my custom adapter to refresh whenever I call one of the "notify" methods. I've tried calling notifyDataSetChanged, notifyItemRangeInserted and notifyItemInserted and none of them seem to work. Here's the code for my custom adapter. I'm basically trying to refresh a list of Strings: ``` package com.mycompany.myapp.adapters; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.TextView; import com.mycompany.myapp.R; import java.util.List; public class FeedAdapter extends RecyclerView.Adapter<FeedAdapter.ViewHolder> { private List<String> mDataset; public FeedAdapter(List<String> dataset) { super(); mDataset = dataset; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int i) { LinearLayout v = (LinearLayout) LayoutInflater.from(parent.getContext()) .inflate(R.layout.list_item_feed, parent, false); v.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); return new ViewHolder(v); } @Override public void onBindViewHolder(ViewHolder holder, int position) { holder.setText(mDataset.get(position)); } @Override public int getItemCount() { return mDataset.size(); } public void setDataset(List<Status> dataset) { mDataset = dataset; // This isn't working notifyItemRangeInserted(0, mDataset.size()); } public static class ViewHolder extends RecyclerView.ViewHolder { private TextView mFeedText; public ViewHolder(View v) { super(v); mFeedText = (TextView) v.findViewById(R.id.feed_text); } private void setText(String text) { mFeedText.setText(text); } } } ``` Anyone else having this issue? Thanks!