如何在列表视图上实现长按监听器

我要添加OnLongClickListener到列表视图中。每当用户长按列表中的项目时,都应执行某些操作,但是我的代码无法捕获此侦听器。请让我知道我要去哪里了。类似的代码效果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;

            }

}); 


Qyouu
浏览 505回答 4
4回答

肥皂起泡泡

您必须在ListView中设置setOnItemLongClickListener():lv.setOnItemLongClickListener(new OnItemLongClickListener() {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @Override&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; public boolean onItemLongClick(AdapterView<?> arg0, View arg1,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int pos, long id) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // TODO Auto-generated method stub&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Log.v("long clicked","pos: " + pos);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return true;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; });&nbsp;列表中每个项目的XML(应该使用自定义XML)也必须具有android:longClickable="true"(或可以使用便捷方法lv.setLongClickable(true);)。这样,您可以拥有一个列表,其中只有一些项响应longclick。希望这会帮助你。

RISEBY

如果您的ListView&nbsp;行项目引用一个单独的XML文件,android:longClickable="true"除了设置setOnItemLongClickListener()到ListView&nbsp;之外,还请确保添加到该布局文件。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android