При вызове onItemLongClickListener, onItemClickListener также работает


У меня есть ListView, в котором onItemClickListener и onLongItemClickListener используются для разных вариантов. Он прекрасно работает в jellybean. Но в Nexus5, Когда я долго нажимаю на ListView, вызываются и onItemClickListener, и onLongItemClickListener. Почему это происходит? Кто-нибудь знает об этом?

1 2

1 ответ:

Вы должны установить возвращаемое значение OnItemLongClickListener в true

private AdapterView.OnItemLongClickListener itemLongClickListener = new AdapterView.OnItemLongClickListener() {
    @Override
    public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
        //... Do stuff
        return true;
    }
};

Именно так событие сообщает своему родителю, что событие click было обработано. Если он установлен в false, то OnItemClickListener также будет запущен, вызывая свой метод прослушивателя.