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

sai*_*ket 28 android android-widget android-layout

假设我有一个ListActivity,现在我想要在列表项上捕获长按事件,因为我使用下面的代码块(get google后),但它不起作用!请帮忙!

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

            }
Run Code Online (Sandbox Code Playgroud)

我也在网上看到了一些带有contextmenu的代码但是我没有办法从上下文菜单打开的位置获取listItem的位置.

use*_*486 62

我不知道你是否已经解决了你的问题,我几乎可以肯定你已经解决了,但这很有效

this.getListView().setLongClickable(true);
this.getListView().setOnItemLongClickListener(new OnItemLongClickListener() {
    public boolean onItemLongClick(AdapterView<?> parent, View v, int position, long id) {
        //Do some
        return true;
    }
});
Run Code Online (Sandbox Code Playgroud)


小智 6

this.getListView().setOnItemLongClickListener 应该管用.