Как определить состояние нажатых, нажатых и выпущенных кнопок кнопки. Я хочу выполнять разные функции в этих состояниях. На клик я хочу вызвать функцию1, нажимаю, я хочу вызвать функцию2, а при приеме я хочу вызвать функцию3.Нажмите, нажмите и отпустите событие на кнопке
Мы можем обнаружить состояние щелчка, используя View.OnClickListener
. Мы можем обнаружить состояние нажатия и отпускания кнопки с помощью View.OnTouchListener
и обработки ACTION_DOWN
и ACTION_UP
. Однако я могу обнаруживать эти состояния индивидуально, но не вместе.
Ниже приведен код для OnCLickListener.
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println(" clicked ");
}
});
Ниже приведен код для OnTouchListener.
button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
System.out.println(" pressed ");
return true;
case MotionEvent.ACTION_UP:
System.out.println(" released ");
return true;
}
return false;
}
});
Когда я нажимаю кнопку и прикасаюсь к слушателям на кнопке, событие Click никогда не вызывается. Вместо этого я получаю нажатое и освобожденное состояние.
Как я могу обрабатывать эти три состояния вместе?
EDIT:
Я добавил код OnClickListener и OnTouchListener я использовал.
Try возвращение ложным, а не истинным; – TheRedFox