package com.quickblox.sample.core.ui.adapter; import android.content.Context; import android.view.LayoutInflater; import android.widget.BaseAdapter; import java.util.ArrayList; import java.util.List; public abstract class BaseListAdapter<T> extends BaseAdapter { protected LayoutInflater inflater; protected Context context; protected List<T> objectsList; public BaseListAdapter(Context context) { this(context, new ArrayList<T>()); } public BaseListAdapter(Context context, List<T> objectsList) { this.context = context; this.objectsList = objectsList; this.inflater = LayoutInflater.from(context); } @Override public int getCount() { return objectsList.size(); } @Override public T getItem(int position) { return objectsList.get(position); } @Override public long getItemId(int position) { return position; } public void updateList(List<T> newData) { objectsList = newData; notifyDataSetChanged(); } public void add(T item) { objectsList.add(item); notifyDataSetChanged(); } public void addList(List<T> items) { objectsList.addAll(0, items); notifyDataSetChanged(); } public List<T> getList() { return objectsList; } public void remove(T item) { objectsList.remove(item); notifyDataSetChanged(); } }