如何捕获ListActivity的Listeview项目的长按事件?

问题描述

| 假设我有一个ListActivity,现在我想捕捉一个列表项上的长按事件,因为我使用了以下代码块(在googled之后获取),但是它不起作用!请帮忙!
            public class InBoxActivity extends ListActivity {

            this.getListView().setonLongClickListener(new OnLongClickListener() {
                        @Override
                        public boolean onLongClick(View v) {
                            Toast.makeText(InBoxActivity.this,\"postion: \" +    getListView().getSelectedItemPosition(),Toast.LENGTH_SHORT).show();
                            return true;
                        }
                    });

            }
我也可以使用contextmenu在网上看到一些代码,但是我没有从上下文菜单打开的地方获取listItem位置的方法。     

解决方法

我不知道您是否已经解决了您的问题,我几乎确定您已经做到了,但这是可行的
this.getListView().setLongClickable(true);
this.getListView().setOnItemLongClickListener(new OnItemLongClickListener() {
    public boolean onItemLongClick(AdapterView<?> parent,View v,int position,long id) {
        //Do some
        return true;
    }
});
    ,
this.getListView().setOnItemLongClickListener
应该起作用。     ,
    (viewitem).setOnLongClickListener(new OnItemLongClickListener() {           
        @Override
        public boolean onLongClick(View v) {
            //your code here
            return false;
        }
    }
(这与上面的答案有些不同)     ,我认为您想知道如何获得价值。
listView.setOnItemLongClickListener(new OnItemLongClickListener() {
                    public boolean onItemLongClick(AdapterView parentView,View childView,long id) {
                                            // this will provide the value
                        listView.getItemAtPosition(position)
                        return false;
                    }

                })