java Android:当我为 ListView 设置 OnClickListener 时
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/2240411/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Android: When I set an OnClickListener for a ListView
提问by Tom R
lv.setOnClickListener(new OnClickListener(){
public void onClick(View v){
}
});
Does vrefer to the ListView lvor the specific item selected in the list?
是否v指的ListViewlv或在列表中选择具体的项目?
回答by Erich Douglass
I believe that vrefers to the whole ListView. To add a click handler for an item, you want to use AdapterView.setOnItemClickListener.
相信是v指整体ListView。要为项目添加点击处理程序,您需要使用AdapterView.setOnItemClickListener。
回答by Nikola Smiljani?
There is a setOnItemClickListener for what you want.
有一个 setOnItemClickListener 可以满足您的需求。
回答by Mark B
onClickListenerjust listens to a click on the entire View. vwill be the ListView.
onClickListener只听点击整个视图。 v将是ListView.
What you probably want is onItemClickListenerinstead of onClickListener.
您可能想要的是onItemClickListener而不是onClickListener.
Or you may want to extend ListActivityand override onListItemClick()
或者您可能想要扩展ListActivity和覆盖onListItemClick()
回答by Dhiral Pandya
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View view, int arg2,long itemID) {
View itemView = view;
String fromDate = ((TextView)itemView.findViewById(R.id.fromDate)).getText().toString();
int position = (int) arg0.getSelectedItemId();
Log.d(TAG, "ListView Selected : "+fromDate+" Position:"+position+" arg2:"+arg2+" arg3:"+itemID);
}
});

