У меня есть список с элементами, содержащими несколько кнопок. Макет для одного элемента выглядит примерно так:отправка событий касания от слушателя жестов onSingleTapConfirmed и сохранения селекторных эффектов
У меня есть перекрывающий прозрачный вид, охватывающий весь каждый элемент списка. Этот вид прослушивает два жесты: onDoubleTap
и onSingleTapConfimred
.
, чтобы вызвать клик слушателей на основных кнопках я только может отправлять события прикосновения с наложением сенсорного слушателя, но это не показывают селекторы и состояния на кнопки (например, изменили цвет фона на печати). Я также хочу только на триггер события щелчка, когда представление верхи уволил onSingleTapConfimred
...
final DtGestureDetector detector = new DtGestureDetector(position);
final GestureDetector gd = new GestureDetector(convertView.getContext(), detector);
postViewHolder.viewOverlay.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//i want to trigger this only onSingleTapConfirmed and set the view selector on touch
//postViewHolder.txtMessage.onTouchEvent(event);
//postViewHolder.layPhoto.onTouchEvent(event);
gd.onTouchEvent(event);
return true;
}
});
...
private class DtGestureDetector extends GestureDetector.SimpleOnGestureListener {
private int position;
public DtGestureDetector(int position) {
super();
this.position = position;
}
public boolean onDoubleTap(MotionEvent e) {
Log.d(tag, "DoubleTap"+position);
return true;
}
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
Log.d(tag, "SingleTap"+position);
return true;
}
}