2017-05-26 16 views
0

私は2つのボタンがあります。これは私がやっているものです:最初のボタンを押す方法、2番目のボタンを離して2番目のボタンのタッチイベントを取得する方法は?

  1. 私はボタン1
  2. を押してくださいその後、私はボタン2
  3. に私の指を移動し、私はボタンを2

enter image description here

を解放し、私はタッチを設定しました2つのボタンのリスナー。これは、両方のボタンにタッチイベントをログに記録です。

public class MainActivity extends AppCompatActivity { 

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

     Button button1 = (Button) findViewById(R.id.button1); 
     Button button2 = (Button) findViewById(R.id.button2); 

     button1.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       if (event.getAction() == MotionEvent.ACTION_DOWN) { 
        Log.d("ButtonTouchTag", "Button 1: DOWN"); 
       } else if (event.getAction() == MotionEvent.ACTION_MOVE) { 
        Log.d("ButtonTouchTag", "Button 1: MOVE"); 
       } else if (event.getAction() == MotionEvent.ACTION_UP) { 
        Log.d("ButtonTouchTag", "Button 1: UP"); 
       } 

       return true; 
      } 
     }); 

     button2.setOnTouchListener(new View.OnTouchListener() 

     { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       if (event.getAction() == MotionEvent.ACTION_DOWN) { 
        Log.d("ButtonTouchTag", "Button 2: DOWN"); 
       } else if (event.getAction() == MotionEvent.ACTION_MOVE) { 
        Log.d("ButtonTouchTag", "Button 2: MOVE"); 
       } else if (event.getAction() == MotionEvent.ACTION_UP) { 
        Log.d("ButtonTouchTag", "Button 2: UP"); 
       } 
       return false; 
      } 
     }); 

    } 

} 

情報を、以下のこのコードのログ:

  • ボタン1:DOWN
  • ボタン1:MOVE
  • ボタン1:MOVE
  • 。 ..
  • ボタン1:MOVE
  • ボタン1:MOVE
  • ボタン1:UP

ご覧のとおり、ボタン2はタッチイベントを取得していません。

質問:最初のボタンを押し、2番目のボタンを放し、2番目のボタンでタッチイベントを取得する方法は?

答えて

0
button2.setOnTouchListener(new View.OnTouchListener() 

     { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       if (event.getAction() == MotionEvent.ACTION_DOWN) { 
        Log.d("ButtonTouchTag", "Button 2: DOWN"); 
       } else if (event.getAction() == MotionEvent.ACTION_MOVE) { 
        Log.d("ButtonTouchTag", "Button 2: MOVE"); 
       } else if (event.getAction() == MotionEvent.ACTION_UP) { 
        Log.d("ButtonTouchTag", "Button 2: UP"); 
       } 
       return true; 
      } 
     }); 

trueを返します。

+0

私はこれを試しましたが、助けになりません。私はそのブール値は、onClickメソッドが呼び出されるべきかどうかを識別すると考える。 –

+0

uコードを確認しましたか?あなたは真ではなく偽を返しています。 –

+0

はい、私のコードをチェックし、あなたのコードをチェックしました。違いはありません。私は問題が別の –

関連する問題