Я пишу приложение для Android для школьного проекта, который выполняет другое действие в зависимости от того, сколько пальцев пользователь нажимает на экран.Правильно подсчитанные указатели с getPointerCount()
Сейчас это действие - это просто показать количество указателей, обнаруженных как тост.
Я использую метод getPointerCount(), но по какой-то причине я получаю несколько тостов. Например, три пальцевого крана дают мне тосты для двух и трех пальцевых кранов, четыре пальцевых ключа дают мне тосты на два, три и четыре пальца и т. Д.
Я не могу на всю жизнь понять, почему это так. Ключ с четырьмя пальцами должен отображать ОДИН тост, говорящий «4», а не цикл через 2, 3 и 4! Любая помощь будет принята с благодарностью.
public boolean onTouchEvent(MotionEvent event)
{
int action = event.getAction();
switch(action & MotionEvent.ACTION_MASK)
{
case MotionEvent.ACTION_POINTER_DOWN:
int count = event.getPointerCount();
if (count == 2) {
finish();
}
else if (count == 4) {
Toast.makeText(this, String.valueOf(count), Toast.LENGTH_SHORT).show();
}
else if (count == 3) {
Toast.makeText(this, String.valueOf(count), Toast.LENGTH_SHORT).show();
}
break;
}
return true;
}
P.S, я попытался переместить код за пределы заявления выключателя, и причудливо, это приводит к тому, тостов сосчитать вверх и вниз!
спасибо чувак, очень ценится. Я посмотрю журналы и посмотрю, смогу ли я это понять. – AVStark