Переопределение трекпада
У меня есть 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
,
Я думаю, что вам лучше всего сделать элементы списка сами по себе не сфокусированными, а флажками. Таким образом, когда пользователь прокручивает трекбол / пэд, он переключает фокус между флажками вместо элементов списка и ведет себя так, как вы хотите. Это не повлияет на сенсорные события.