Подтвердить что ты не робот

Как захватить длинное событие пресса для элемента Listeview ListActivity?

позволяет предположить, что у меня есть ListActivity, теперь я хочу поймать длинное событие прессования в элементе списка, потому что я использовал следующий блок кода (get after 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;
                        }
                    });

            }

Я также вижу некоторый код в онлайн-режиме с контекстным меню, но там я не получаю способ получить позицию listItem, из которой открывается контекстное меню.

4b9b3361

Ответ 1

Я не знаю, решила ли вы уже свою проблему, я почти уверен, что вы это сделали, но это работает

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

Ответ 2

this.getListView().setOnItemLongClickListener должен работать.

Ответ 3

    (viewitem).setOnLongClickListener(new OnItemLongClickListener() {           
        @Override
        public boolean onLongClick(View v) {
            //your code here
            return false;
        }
    }

(это немного отличается от приведенных выше ответов)

Ответ 4

Я думаю, вы хотите знать, как получить значение.

listView.setOnItemLongClickListener(new OnItemLongClickListener() {
                    public boolean onItemLongClick(AdapterView parentView, View childView, int position, long id) {
                                            // this will provide the value
                        listView.getItemAtPosition(position)
                        return false;
                    }

                })