Saya memiliki dua aktivitas A dan B. Saya ingin acara sekali sentuh MotionEvent.ACTION_DOWN terjebak di A, sambil tetap menahan, meluncurkan B, lalu membuat acara rilis MotionEvent.ACTION_UP terjebak di B.
Di A ada View v yang memiliki OnTouchListener dengan callback berikut:
@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;
}
Di B ada View v2 yang tumpang tindih (di atas v asli) dengan jenis OnTouchListener yang sama tetapi "onTouch" B tidak dipanggil saat aktivitas dimulai kecuali saya menggerakkan jari saya (meregenerasi peristiwa sentuhan).
Sederhananya, saya sedang menjalankan aplikasi yang akan menyebabkan aktivitas baru muncul saat layar ditekan dan selesai saat saya melepaskan jari.
Apakah tidak mungkin untuk melakukan transfer status MotionEvent.ACTION_DOWNed dari satu tampilan ke tampilan lainnya? Atau apakah aktivitas baru B menghapus "pendengar sentuh di layar" saat ini yang hanya tersedia untuk A karena dimulai di sana?
Terima kasih atas penjelasan apa pun tentang bagaimana MotionEvents ini dikirim ke aktivitas dan/atau solusi/peretasan apa pun untuk masalah saya.