У меня есть некоторый код, который очень близко приблизил меня к тому, чего я пытаюсь достичь. Но есть несколько вопросов. Я хочу, чтобы при нажатии и удержании кнопки она постоянно вызывала метод AdvanceLog (). Проблема в том, что событие движения ACTION_DOWN не продолжает вызываться. Что происходит, когда вы нажимаете и удерживаете, первое движение - ACTION_DOWN, а каждое движение после этого, все еще удерживая нажатым, - ACTION_MOVE.
Это вызывает некоторые проблемы, так как я НЕ ДЕЙСТВИТЕЛЬНО ищу движение, больше всего лишь повторяющее действие вниз. Есть предложения?
advanceButton.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event)
{
int counter=0;
if(event.getAction()==MotionEvent.ACTION_DOWN || event.getAction()==MotionEvent.ACTION_MOVE)
{
fwdTouchCounter++;
AdvanceLog(true, true);
try
{
if(fwdTouchCounter>5)
Thread.sleep(30);
else
Thread.sleep(800);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
else if(event.getAction()==MotionEvent.ACTION_UP)
fwdTouchCounter=0;
return false;
}
});