Вот мой код:Android мультитач: нет ACTION_POINTER_DOWN и события UP
public boolean onTouch(View v, MotionEvent event) {
switch(event.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
Log.d("getButtonCode", "catch ACTION_DOWN");
break;
case MotionEvent.ACTION_POINTER_DOWN:
Log.d("getButtonCode", "catch ACTION_POINTER_DOWN");
break;
case MotionEvent.ACTION_POINTER_UP:
Log.d("getButtonCode", "catch ACTION_POINTER_UP");
break;
case MotionEvent.ACTION_UP:
Log.d("getButtonCode", "catch ACTION_UP");
case MotionEvent.ACTION_CANCEL:
Log.d("getButtonCode", "catch ACTION_CANCEL");
case MotionEvent.ACTION_MOVE:
break;
default:
break;
}
return true;
}
, и я никогда не поймать ACTION_POINTER_DOWN и ACTION_POINTER_UP. Если я удалю break
из ACTION_DOWN, я поймаю ACTION_POINTER_DOWN всегда после ACTION_DOWN, даже если это первый указатель. Я думаю, что это должно быть так: первый указатель поймал только ACTION_DOWN, каждый следующий указатель только ACTION_POINTER_DOWN, если не основной указатель поднялся, я должен поймать ACTION_POINTER_UP.
Но это не работает. Что не так в моем коде?
PS: Я видел другие подобные вопросы, но ответ не помог мне.