У меня есть onTouchListener()
, где мне нужно определить, нажал ли пользователь или долго нажал. Таким образом, я могу определить, что это простой щелчок или длинный щелчок, но проблема в том, что я могу определить, что это только в Motion.ACTION_UP
.
mViewBinder.actionMain.setOnTouchListener(new View.OnTouchListener() {
private long lastTouchDown;
private int CLICK_ACTION_THRESHOLD = 200;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
lastTouchDown = System.currentTimeMillis();
break;
case MotionEvent.ACTION_UP:
if(System.currentTimeMillis() - lastTouchDown < CLICK_ACTION_THRESHOLD)
Logger.log("OnCLickEvent", "onClickListener");
else
Logger.log("OnCLickEvent", "onLongClickListener");
break;
}
return true;
}
});
Я думаю, что мне нужно как-то определить в ACTION_DOWN
, если это долгое нажатие и в ACTION_UP
определите, что это был щелчок. Моя цель - показать тост, когда 1) пользователь долго нажимал кнопку, не вытягивая палец 2) пользователь нажимал кнопку
Я думаю, вы понимаете. Поэтому я использую OnTouchListener()
, потому что мне нужен этот MotionEvent event
в конструкторе для моих будущих целей. Спасибо.