AdapterViewEvents - PerfectCarl/androidannotations GitHub Wiki

Since AndroidAnnotations 1.0

You can bind methods to handle events on items in an AdapterView:

Methods annotated with @ItemClick or @ItemLongClick must have one parameter. This parameter can be of any type, it's the object retrieved when calling adapter.getItem(position).

Methods annotated with @ItemSelect may have one or two parameters. The first parameter must be a boolean, and the second is the object from the adapter, at the selected position.

@EActivity(R.layout.my_list)
public class MyListActivity extends Activity {

	// ...

	@ItemClick
	public void myListItemClicked(MyItem clickedItem) {
	
	}
	
	@ItemLongClick
	public void myListItemLongClicked(MyItem clickedItem) {
	
	}

	@ItemSelect
	public void myListItemSelected(boolean selected, MyItem selectedItem) {
	
	}

}

Since AndroidAnnotations 2.4

For @ItemClick, @ItemLongClick and @ItemSelect, if the parameter is of type int, then the position is given instead of the object coming from the adapter.

@EActivity(R.layout.my_list)
public class MyListActivity extends Activity {

	// ...

	@ItemClick
	public void myListItemClicked(int position) {
	
	}
	
	@ItemLongClick
	public void myListItemLongClicked(int position) {
	
	}

	@ItemSelect
	public void myListItemSelected(boolean selected, int position) {
	
	}

}