У меня есть два действия A и B. Я хотел бы, чтобы одно событие касания MotionEvent.ACTION_DOWN было перехвачено в A, при этом удерживая нажатой кнопку запуска B, затем событие B. MotionEvent.ACTION_UP было перехвачено в B.
В A есть View v, который имеет OnTouchListener со следующим обратным вызовом:
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
startActivity(new Intent(A.this, B.class));
break;
case MotionEvent.ACTION_UP:
// not called
break;
}
// false doesn't work either
return true;
}
В B есть перекрывающийся View v2 (поверх оригинального v) с тем же типом OnTouchListener, но B«onTouch» не вызывается , когда начинается деятельность, если я не двигаю пальцем (восстановление событий касания).
Проще говоря, , я выполняю приложение, которое может вызватьновое действие, которое появляется при удерживании на экране и завершается, когда я отпускаю палец.
Не возможно ли выполнить перенос состояния MotionEvent.ACTION_DOWNed из одного вида в другой?Или новое действие B очищает любые текущие «слушатели касания экрана», доступные только A, потому что оно было инициировано там?
Спасибо за любое объяснение того, как эти MotionEvents отправляются на действия и / или любое решение / взломатьк моей проблеме.