2016-04-03 18 views
1

これは親切にも私に直接指示されている場合、これは繰り返し質問です。ontouchイベントでonclickを作成する

私は内部のTextViewに対して線形レイアウトを持っており、そののLinearLayoutのクリック時に私はonTouchの行動をしようとしたのTextView

Layout not clicked

Layout when clicked

ののLinearLayoutとテキストの色の背景を変更したいです。 DownとAction.Up、 が正常に動作しません。ユーザーがActionDownの後にいずれかの方向にスワイプすると、その色は再びクリックされない限り変更されたままになります。

+0

'your_liner_layout.setOnClickListener(new View.OnClickListener(){};' – Kathi

答えて

1

まずあなたがこの

private GestureDetector gestureDetector; 

     gestureDetector = new GestureDetector(this, new SingleTapConfirm()); 

ようGestureDetectorを必要とするには、今すぐあなたのOnTouchListener

View.OnTouchListener simpleMethod = new View.OnTouchListener() { 

      if (gestureDetector.onTouchEvent(event)) { 
       // single tap code goes here, its single tap click 
       // its like Onclick for your view 
      } else { 
       // your code for move and drag, touch 
       switch (event.getActionMasked()) { 

        case MotionEvent.ACTION_DOWN: 
        // your action down action 

         break; 

        case MotionEvent.ACTION_MOVE: 
        // your action move code here 
         break; 
        default: 
         return false; 
       } 
       return true; 
      } 

     } 
    }; 

が最後にあなたのビュー

にタッチリスタを追加書き込み SimpleOnGestureListener

GestureDetectorから
private class SingleTapConfirm extends GestureDetector.SimpleOnGestureListener { 

     @Override 
     public boolean onSingleTapUp(MotionEvent event) { 
      return true; 
     } 
    } 

を追加します。

fab.setOnTouchListener(simpleMethod); 
関連する問題