package tmay.bluetoothbacon.lightbluebean.adapters; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import org.androidannotations.annotations.EBean; import org.androidannotations.annotations.RootContext; import java.util.ArrayList; import nl.littlerobots.bean.Bean; import tmay.bluetoothbacon.lightbluebean.views.BlueBeanListItem; import tmay.bluetoothbacon.lightbluebean.views.BlueBeanListItem_; /** * Created by Terry on 9/19/14. */ @EBean public class BlueBleanAdapter extends BaseAdapter { public ArrayList<Bean> beans; @RootContext Context context; public BlueBleanAdapter() { beans = new ArrayList<Bean>(); } public void setBeans(ArrayList<Bean> beans) { this.beans = beans; this.notifyDataSetChanged(); } public void addBean(Bean bean) { if (!this.beans.contains(bean)) { this.beans.add(bean); } } public void removeBean(Bean bean) { if (this.beans.contains(bean)) { beans.remove(bean); } } public void clear() { if (beans != null) beans.clear(); notifyDataSetChanged(); } @Override public int getCount() { return beans.size(); } @Override public Bean getItem(int i) { return beans.get(i); } @Override public long getItemId(int i) { return beans.get(i).getDevice().hashCode(); } @Override public View getView(int i, View convertView, ViewGroup viewGroup) { BlueBeanListItem beanItemView; if (convertView == null) { beanItemView = BlueBeanListItem_.build(context); } else { beanItemView = (BlueBeanListItem) convertView; } beanItemView.bind(getItem(i)); return beanItemView; } }