2017-02-28 1 views
2

스 와이프 동작이 간단한 이미지에서만 작동하도록하려고합니다. 아무도 그 이유는 작동하지 않습니다. 나는 "ontouchnow"을 얻지 만, 왼쪽 또는 오른쪽은 textview에 표시되지 않습니다.Android 제스처가 작동하지 않습니다. 이미지

나는 코드 아래에 나열했습니다 :

public class MainActivity extends AppCompatActivity { 

    private GestureDetectorCompat gesyObject; 
    private TextView textView2; 
    private ImageView imageView; 

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

     gesyObject = new GestureDetectorCompat(this, new GesyOne()); 

     textView2 = (TextView) findViewById(R.id.textView2); 
     imageView = (ImageView) findViewById(R.id.imageView); 

     imageView.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       textView2.setText("ontouchnow"); 
       return gesyObject.onTouchEvent(event); 
      } 
     }); 


    } 

    /*@Override 
    public boolean onTouchEvent(MotionEvent event) { 
     this.gesyObject.onTouchEvent(event); 
     return super.onTouchEvent(event); 
    } */ 

    class GesyOne extends GestureDetector.SimpleOnGestureListener{ 

     @Override 
     public boolean onFling(MotionEvent event1, MotionEvent event2, float velocityX, float velocityY) { 
      if (event2.getX() > event1.getX()) { 
       textView2.setText("LEFT"); 

      } else if (event2.getX() < event1.getX()) { 
       textView2.setText("RIGHT"); 
      } 
      return true; 
     } 

    } 

} 

답변

0

을보십시오. onDown 모션 이벤트를 추가해야 true를 반환합니다. 정렬.

관련 문제