Skip to content

Instantly share code, notes, and snippets.

@sheerazam
Last active May 3, 2016 09:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sheerazam/52ba7128472509210768fa55af333713 to your computer and use it in GitHub Desktop.
Save sheerazam/52ba7128472509210768fa55af333713 to your computer and use it in GitHub Desktop.
Recycler View Adapter Sample....
public class PhonesListRecyclerAdapter extends RecyclerView.Adapter<PhonesListRecyclerAdapter.ViewHolder> {
private static final String TAG = PhonesListRecyclerAdapter.class.getSimpleName();
private List<PhoneNumber> mItems;
OnClickListener onClickListener;
public interface OnClickListener{
void onPhoneNumberClick(int position);
}
Context context;
public PhonesListRecyclerAdapter(Context context, List<PhoneNumber> items, OnClickListener listener ) {
mItems = items;
this.context = context;
this.onClickListener = listener;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.list_item_phones_list, viewGroup, false);
return new ViewHolder(v);
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, final int i) {
}
public void addData(PhoneNumber newModelData, int position) {
mItems.add(position, newModelData);
notifyItemInserted(position);
}
public void updateData(PhoneNumber newModelData, int position) {
mItems.set(position, newModelData);
notifyItemChanged(position);
}
public PhoneNumber getItem(int position) {
return mItems.get(position);
}
public void removeData(int position) {
mItems.remove(position);
notifyItemRemoved(position);
}
public void clearData() {
Log.v(TAG, "clearData()");
int size = this.mItems.size();
if (size > 0) {
for (int i = 0; i < size; i++) {
this.mItems.remove(0);
}
this.notifyItemRangeRemoved(0, size - 1);
}
}
@Override
public int getItemCount() {
return mItems.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
ViewHolder(View v) {
super(v);
ButterKnife.inject(this, v);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment