1

「onTouch」メソッドで以下のように書きました。

しかし、「getPointerCount()」と「getAction()」は常に同じ値を吐き出します。

このコードはマルチタッチを認識できません。

また、MotionEvent.ACTION_UP の発生時に onTouch メソッドは呼び出されません。

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

    relativelayout = (RelativeLayout) findViewById(R.id.relativeLayout);

    relativelayout.setOnTouchListener(new OnTouchListener() {

        public boolean onTouch(View v, MotionEvent event) {
            Log.i("test", "multiTouchCount : " + event.getPointerCount());
            Log.i("test", "action : " + event.getAction());
            return false;
        }
    });
}

だから、私は onTouchEvent メソッドで同じことを試しましたが、これはうまくいきます。

public boolean onTouchEvent(MotionEvent event) {

    Log.i("test", "multiTouchCount : " + event.getPointerCount());
    Log.i("test", "action : " + event.getAction());

    return super.onTouchEvent(event);
}

「onTouch」メソッドの問題は何ですか?

4

1 に答える 1