[英]Android: When I set an OnClickListener for a ListView
lv.setOnClickListener(new OnClickListener(){
public void onClick(View v){
}
});
Does v
refer to the ListView lv
or the specific item selected in the list? v
是指ListView lv
还是列表中选择的特定项?
I believe that v
refers to the whole ListView
. 我相信v
指的是整个ListView
。 To add a click handler for an item, you want to use AdapterView.setOnItemClickListener . 要为项添加单击处理程序,您需要使用AdapterView.setOnItemClickListener 。
你想要的是一个setOnItemClickListener。
onClickListener
just listens to a click on the entire View. onClickListener
只是听取整个View的点击。 v
will be the ListView
. v
将是ListView
。
What you probably want is onItemClickListener
instead of onClickListener
. 你可能想要的是onItemClickListener
而不是onClickListener
。
Or you may want to extend ListActivity
and override onListItemClick()
或者您可能希望扩展ListActivity
并覆盖onListItemClick()
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);
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.