关于onItemClick怎么得到listview的posion
关于onItemClick怎么得到listview的posion
关于onItemClick怎么得到listview的posion
2019-01-21
@ItemClick void listItemClicked(int position) { Toast.makeText(this, "click: " + position, Toast.LENGTH_SHORT).show(); }
这里直接把参数改了就可以了 好像源码说这里可以支持三种写法
/** * <p> * This annotation is intended to be used on methods to receive events defined * by * {@link android.widget.AdapterView.OnItemClickListener#onItemClick(android.widget.AdapterView, android.view.View, int, long)} * when a list item has been clicked by the user. * </p> * <p> * The annotation value should be one or several of R.id.* fields. If not set, * the method name will be used as the R.id.* field name. * </p> * <p> * The method MAY have one parameter : * </p> * <ul> * <li>An <code>int</code> parameter to know the position of the clicked item. * Or, a parameter of the type of the Adapter linked to the listview.</li> * </ul> * * <blockquote> * * Example : * * <pre> * @ItemClick(R.id.myList) * public void itemClickedOnMyList() { * // ... * } * * @ItemClick(R.id.myList) * public void myListItemPositionClicked(int position) { * // ... * } * * @ItemClick * public void myListItemClicked(MyItem clickedItem) { * // ... * } * </pre> * * </blockquote> * * @see ItemLongClick * @see ItemSelect */
package org.androidannotations.sample; import org.androidannotations.annotations.EActivity; import org.androidannotations.annotations.ItemClick; import org.androidannotations.annotations.ItemLongClick; import org.androidannotations.annotations.ItemSelect; import org.androidannotations.annotations.res.StringArrayRes; import android.app.ListActivity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.ListAdapter; import android.widget.Toast; // The layout is not set : we use the default layout set in ListActivity @EActivity public class MyListActivity extends ListActivity { @StringArrayRes String[] bestFoods; private ListAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, bestFoods); setListAdapter(adapter); } @ItemClick void listItemClicked(String food) { Toast.makeText(this, "click: " + food, Toast.LENGTH_SHORT).show(); } @ItemLongClick void listItemLongClicked(String food) { Toast.makeText(this, "long click: " + food, Toast.LENGTH_SHORT).show(); } @ItemSelect void listItemSelected(boolean somethingSelected, String food) { if (somethingSelected) { Toast.makeText(this, "selected: " + food, Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "nothing selected", Toast.LENGTH_SHORT).show(); } } }
举报