1

画面の各「半分」でどれだけのタッチが行われているかを数えることに問題があります。上側をタッチすると正しくカウントされ、下側も同様です。しかし、上側に触れて離さずに下側に触れると、間違った側がカウントされます。実装の何が問題になっていますか?

     myView.setOnTouchListener(new OnTouchListener() {

            public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub
                int action = event.getAction() & MotionEvent.ACTION_MASK;
                if (action == MotionEvent.ACTION_DOWN) {
                    if(event.getY()<400)
                    {


                    }
                    else
                    {

                    }
                }

                if (action == MotionEvent.ACTION_UP) {

                    if(event.getY()<400)
                    {

                        zenbat=zenbat+1;
                        tv.setText(String.valueOf(zenbat));

                    }
                    if(event.getY()>400)
                    {
                        zenbat1=zenbat1+1;
                        tv1.setText(String.valueOf(zenbat1));

                    }
                }

                if (action == MotionEvent.ACTION_POINTER_DOWN) {
                    if(event.getY()<400)
                    {                           
                    }
                    else
                    {
                    }
                }

                if (action == MotionEvent.ACTION_POINTER_UP) {
                    if(event.getY()<400)
                    {
                        zenbat=zenbat+1;
                        tv.setText(String.valueOf(zenbat));

                    }
                    if(event.getY()>400)
                    {
                        zenbat1=zenbat1+1;
                        tv1.setText(String.valueOf(zenbat1));

                    }
                } 
                return true;
            }
        });
4

1 に答える 1

0

マルチタッチ イベントを正しく処理するには、ポインター インデックスを使用して、イベントを生成する指を正しく識別する必要があります。

Android マルチタッチ干渉で同様の質問に答え、その方法のコード例を投稿しました。

指を正しく識別するには、fingerId投稿されたコードの を参照する必要があります。

よろしく。

于 2013-01-01T01:45:39.493 に答える