ShadowAdapterView.java revision 7309919cca1b8a46e21634c1988ea38f62f97c09
16eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulzpackage com.xtremelabs.droidsugar.view;
26eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
36eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulzimport android.widget.Adapter;
46eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulzimport android.widget.AdapterView;
56eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
66eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz@SuppressWarnings({"UnusedDeclaration"})
76eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulzpublic class FakeAdapterView extends FakeView {
8fe999f5d0538ad8a1abb0fc473020f1e6048c23eChristian Williams & Joe Moore    private AdapterView realAdapterView;
9fe999f5d0538ad8a1abb0fc473020f1e6048c23eChristian Williams & Joe Moore
106eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    private Adapter adapter;
116eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    private AdapterView.OnItemSelectedListener onItemSelectedListener;
126eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    private AdapterView.OnItemClickListener onItemClickListener;
136eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
146eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    public FakeAdapterView(AdapterView adapterView) {
156eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz        super(adapterView);
16fe999f5d0538ad8a1abb0fc473020f1e6048c23eChristian Williams & Joe Moore        this.realAdapterView = adapterView;
176eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    }
186eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
196eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    public void setAdapter(Adapter adapter) {
206eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz        this.adapter = adapter;
216eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    }
226eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
236eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    public Adapter getAdapter() {
246eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz        return adapter;
256eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    }
266eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
276eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    public void setOnItemSelectedListener(AdapterView.OnItemSelectedListener listener) {
286eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz        this.onItemSelectedListener = listener;
296eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    }
306eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
316eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    public final AdapterView.OnItemSelectedListener getOnItemSelectedListener() {
326eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz        return onItemSelectedListener;
336eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    }
346eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
356eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    public void setOnItemClickListener(AdapterView.OnItemClickListener listener) {
366eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz        this.onItemClickListener = listener;
376eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    }
386eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
396eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    public final AdapterView.OnItemClickListener getOnItemClickListener() {
406eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz        return onItemClickListener;
416eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    }
42fe999f5d0538ad8a1abb0fc473020f1e6048c23eChristian Williams & Joe Moore
437309919cca1b8a46e21634c1988ea38f62f97c09Christian Williams & Tyler Schultz    public Object getItemAtPosition(int position) {
447309919cca1b8a46e21634c1988ea38f62f97c09Christian Williams & Tyler Schultz        Adapter adapter = getAdapter();
457309919cca1b8a46e21634c1988ea38f62f97c09Christian Williams & Tyler Schultz        return (adapter == null || position < 0) ? null : adapter.getItem(position);
467309919cca1b8a46e21634c1988ea38f62f97c09Christian Williams & Tyler Schultz    }
477309919cca1b8a46e21634c1988ea38f62f97c09Christian Williams & Tyler Schultz
48fe999f5d0538ad8a1abb0fc473020f1e6048c23eChristian Williams & Joe Moore    public void setSelection(int position) {
49fe999f5d0538ad8a1abb0fc473020f1e6048c23eChristian Williams & Joe Moore        if (onItemSelectedListener != null) {
50fe999f5d0538ad8a1abb0fc473020f1e6048c23eChristian Williams & Joe Moore            onItemSelectedListener.onItemSelected(realAdapterView, null, position, -1);
51fe999f5d0538ad8a1abb0fc473020f1e6048c23eChristian Williams & Joe Moore        }
52fe999f5d0538ad8a1abb0fc473020f1e6048c23eChristian Williams & Joe Moore    }
536eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz}
54