package org.lucasr.transition.samples; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; import java.util.ArrayList; import java.util.List; public class SomeAdapter extends BaseAdapter { private static class Item { public final long id; public final String value; public Item(long id, String value) { this.id = id; this.value = value; } } private final Context context; private final List items = new ArrayList(); private int currentId = 0; public SomeAdapter(Context context) { super(); this.context = context; } @Override public int getCount() { return items.size(); } @Override public Object getItem(int position) { return items.get(position); } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = LayoutInflater.from(context).inflate(R.layout.text_item, parent, false); } Item item = items.get(position); ((TextView) convertView).setText(item.value + " (" + item.id + ")"); return convertView; } @Override public long getItemId(int position) { return items.get(position).id; } @Override public boolean hasStableIds() { return true; } private Item createItem(String value) { long id = ++currentId; return new Item(id, value); } public void add(String value) { items.add(createItem(value)); notifyDataSetChanged(); } public void add(int index, String value) { items.add(index, createItem(value)); notifyDataSetChanged(); } public void remove(int index) { items.remove(index); notifyDataSetChanged(); } }