Как получить возвращаемое значение GesturDetector.onSingleTapConfirmed () внутри метода onTouch? - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть следующий код, который просто устанавливает onTouchListener с GestureDetector на кнопке.

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button btn = findViewById(R.id.btn);

    final GestureDetector gd = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() {
        @Override
        public boolean onSingleTapConfirmed(MotionEvent e) {
            return true;
        }
    });

    btn.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            boolean res = gd.onTouchEvent(event);
            Log.i("res", "res = " + res);
            return res;
        }
    });
}

}

Однако, журнал показывает, что значение res всегда ложно и никогда не истинно, что означает, что мой обратный вызов onSingleTapConfirmed никогда не передает свое возвращаемое значение методу onTouch(). Есть ли способ получить возвращаемое значение onSingleTapConfirmed в методе onTouch?

...