Я реализовал пролистываемый список, следующий за этим URL: https://jayrambhia.com/blog/swipe-listview, единственное отличие состоит в том, что у меня есть только MotionEvent.ACTION_DOWN и MotionEvent.ACTION_UP и я обнаруживаю движение в MotionEvent.ACTION_UP на основе значения deltaX. Настраиваемый вид элемента списка в макете, подобном этому, в Linearlayout:
TextView1 | TextView2 TextView3
перед смахиванием выглядит так:
Первоначально TextView2 и 3 скрыты. При перелистывании этого представления они будут отображаться следующим образом:
У меня установлено onClickListener для всех 3-х TextView, и было установлено, что с onClickListener, установленным в TextView1, я не могу провести пальцем, если начинать с TextView1, и все еще могу проводить пальцем вне TextView1, так как TextView2 и 3 изначально скрыты. Похоже, что TextView1 отвечает только на OnClickLisener.
Я также пытался вызвать их для TextView1:
setClickable(true);
setEnabled(true);
setFocusable(true);
setFocusableInTouchMode(true);
Что я пропустил? Любые советы будут оценены. Заранее спасибо!
Editted:
Я заметил, что если я положу палец между TextView1 и его родительским Linearlayout, тогда смахивание будет работать. Таким образом, кажется, что дочернее представление (TextView1) отключило родительское представление (Linearlayout) onTouchListener из-за onClickListener дочернего представления? Как я могу получить onTouchEvent, когда смахивание начинается в дочернем представлении?