如何在列表视图上实现长按侦听器 [英] how to implement a long click listener on a listview

查看:35
本文介绍了如何在列表视图上实现长按侦听器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在我的列表视图中添加 OnLongClickListener.每当用户长按列表中的项目时,应执行某些操作,但我的代码没有捕获此侦听器.请让我知道我哪里出错了.类似的代码适用于 setOnItemClickListener 非常好.

I want to add OnLongClickListener on my list view. Whenever the user long press the item in list some action should be performed, But my code does not catch this listener. Please let me know where I am going wrong. The similar code works for setOnItemClickListener very well.

代码如下:

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;
            }
}); 

推荐答案

你必须在ListView中设置setOnItemLongClickListener():

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;
            }
        }); 

列表中每个项目的 XML(如果您使用自定义 XML)也必须具有 android:longClickable="true"(或者您可以使用便利方法 lv.setLongClickable(true);).这样你就可以得到一个列表,其中只有一些项目响应 longclick.

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.

希望对你有帮助.

这篇关于如何在列表视图上实现长按侦听器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆