how to implement a long click listener on a listview how to implement a long click listener on a listview android android

how to implement a long click listener on a listview


You have to set setOnItemLongClickListener() in the ListView:

lv.setOnItemLongClickListener(new OnItemLongClickListener() {            @Override            public boolean onItemLongClick(AdapterView<?> arg0, View arg1,                    int pos, long id) {                // TODO Auto-generated method stub                Log.v("long clicked","pos: " + pos);                return true;            }        }); 

The XML for each item in the list (should you use a custom XML) must have android:longClickable="true" as well (or you can use the convenience method lv.setLongClickable(true);). This way you can have a list with only some items responding to longclick.

Hope this will help you.


If your ListView row item refers to a separate XML file, be sure to add android:longClickable="true" to that layout file in addition to setting setOnItemLongClickListener() to your ListView.


or try this code:

listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {            public boolean onItemLongClick(AdapterView<?> arg0, View v,                    int index, long arg3) {    Toast.makeText(list.this,myList.getItemAtPosition(index).toString(), Toast.LENGTH_LONG).show();                return false;            }});