Android: when I install OnClickListener for ListView

lv.setOnClickListener(new OnClickListener(){ public void onClick(View v){ } }); 

Does v point to ListView lv or to a specific item selected in the list?

+6
java android user-interface
source share
4 answers

I believe v applies to the whole ListView . To add a click handler for an element, you want to use AdapterView.setOnItemClickListener .

+7
source share

There is a setOnItemClickListener for what you want.

+5
source share

onClickListener just listens for a click on the entire view. v will be a ListView .

Maybe you need onItemClickListener instead of onClickListener .

Or you can extend ListActivity and override onListItemClick()

+3
source share
 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); } }); 
+3
source share

All Articles