如何实现在一个ListView长时间点击监听器 [英] how to implement a long click listener on a listview

查看:181
本文介绍了如何实现在一个ListView长时间点击监听器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要添加 OnLongClickListener 在我的列表视图。每当PSS在列表中的一些动作,应执行该项目的用户长$ P $,但我的code没有抓住这个监听器。请让我知道我错了。类似的code适用于 setOnItemClickListener 很好。

下面是code:

  listView.setOnItemLongClickListener(新AdapterView.OnItemLongClickListener(){

            公共布尔onItemLongClick(适配器视图<>为arg0,视图V,
                    INT指数,长ARG3){
                // TODO自动生成方法存根
                 Log.d(在onLongClick);
                 字符串str = listView.getItemAtPosition(指数)的ToString();

                 Log.d(长按+ STR);
                返回true;
            }
});
 

解决方案

您必须将 setOnItemLongClickListener()在ListView:

  lv.setOnItemLongClickListener(新OnItemLongClickListener(){
            @覆盖
            公共布尔onItemLongClick(适配器视图<>为arg0,查看ARG1,
                    INT POS,长I​​D){
                // TODO自动生成方法存根

                Log.v(长点击,POS:+ POS);

                返回true;
            }
        });
 

在XML列表中的每个项目(如果您使用自定义XML)必须具有安卓longClickable =真正的以及(或者你可以使用的便利性方法 lv.setLongClickable(真); )。这样你就可以有只有一些项目回应longclick列表。

希望这会帮助你。

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.

Here is the code :

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

解决方案

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.

这篇关于如何实现在一个ListView长时间点击监听器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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