2

2 つのボタンに OnTouchEvent を実装し、同時に MotionEvent.ACTION_MOVE 関数を取得したいと考えています。

onTouchEvent を実装しましたが、動作しません

    left = (Button)findViewById(R.id.button1);
    right = (Button)findViewById(R.id.button2);
    left.setOnTouchListener(this);
    right.setOnTouchListener(this);

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub

        if (event.getAction() == MotionEvent.ACTION_DOWN) {
            if(v.getId()==R.id.button1){
                Log.i("left", "moved!");
            }
            if(v.getId()==R.id.button2){
                Log.i("right", "move!");
            }
        }
        return false;
    }

AndroidManifest.xml で

<uses-feature android:name="android.hardware.touchscreen.multitouch"
           android:required="true" />

これを理解するのを手伝ってください。

4

2 に答える 2

2

http://www.passsy.de/activity_with_multitouch_for_buttons/が役に立ちます。使用している Android のバージョンは何ですか?

于 2012-04-13T10:44:42.157 に答える
0

これを試してください:

      if (event.getAction() == MotionEvent.ACTION_DOWN) {
        if(v==left){
            Log.i("left", "moved!");
        }
        if(v == right){
            Log.i("right", "move!");
        }
    }

左ボタンと右ボタンをクラスメンバーにする必要があります。

編集:申し訳ありませんが、同じ効果を引き起こす可能性があります。

于 2012-04-13T10:47:38.553 に答える