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