关于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();
}
}
}举报