Переопределение трекпада

У меня есть ListActivity; и для каждого элемента в ListView есть флажок.

Когда вы касаетесь элемента списка, запускается другое действие.

Когда вы используете трекпад / трекбол, чтобы выделить (читай: выбрать) элемент и щелкнуть трекпад, он по существу имитирует касание элемента. Это приводит к запуску моей другой активности.

Я бы хотел щелкнуть по трекпаду, чтобы установить флажок для выделенного элемента. Есть ли обработчик, который я могу переопределить, чтобы сделать это?

2 ответа

Решение

Вы должны переопределить onTrackballEvent(MotionEvent) метод и улов ACTION_DOWN, Вот пример того, как это сделать:

@Override
    public boolean onTrackballEvent(MotionEvent event) {

        switch(event.getAction()){
        case MotionEvent.ACTION_DOWN:
            //Do your work here
            return true;
        }

        return super.onTrackballEvent(event);
    }

Надеюсь, что это работает для вас!

Не уверен в однозначном ответе на этот вопрос, но стоит изучить android:focusable,

Я думаю, что вам лучше всего сделать элементы списка сами по себе не сфокусированными, а флажками. Таким образом, когда пользователь прокручивает трекбол / пэд, он переключает фокус между флажками вместо элементов списка и ведет себя так, как вы хотите. Это не повлияет на сенсорные события.

Другие вопросы по тегам