我想在我的列表视图中添加OnLongClickListener
。每当用户长按list中的项时,都应该执行一些操作,但我的代码没有捕捉到这个侦听器。请告诉我哪里出错了。类似的代码可以很好地用于setOnItemClickListener
。
代码如下:
listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> arg0, View v,
int index, long arg3) {
// TODO Auto-generated method stub
Log.d("in onLongClick");
String str=listView.getItemAtPosition(index).toString();
Log.d("long click : " +str);
return true;
}
});
发布于 2013-01-07 20:57:47
或者尝试以下代码:
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;
}
});
发布于 2012-01-13 14:24:24
我认为上面的代码将在LongClicking列表视图上工作,而不是单独的项目。
为什么不使用registerForContextMenu(listView)
。然后在OnCreateContextMenu中获取回调。
对于大多数用例,这都是一样的。
发布于 2018-04-15 13:46:40
在xml中添加
<ListView android:longClickable="true">
在java文件中
lv.setLongClickable(true)
试试这个setOnItemLongClickListener()
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> adapterView, View view, int pos, long l) {
//final String category = "Position at : "+pos;
final String category = ((TextView) view.findViewById(R.id.textView)).getText().toString();
Toast.makeText(getActivity(),""+category,Toast.LENGTH_LONG).show();
args = new Bundle();
args.putString("category", category);
return false;
}
});
https://stackoverflow.com/questions/8846707
复制相似问题