如何在GestureDetector.SimpleOnGestureListener中检测视图

时间:2015-09-30 07:57:13

标签: android android-layout

我有如下手势检测器类

    class MyGestureListener extends GestureDetector.SimpleOnGestureListener {
@Override
        public boolean onDown(MotionEvent event) {
            return true;
        }

        @Override
        public boolean onSingleTapConfirmed(MotionEvent e){
            Toast.makeText(getActivity(), "onSingleTapConfirmed", Toast.LENGTH_SHORT).show();
            return false;
        }
}

现在我在onCreate方法中附加了这个探测器和我的两个视图,

mDetector = new GestureDetectorCompat(getActivity(), new MyGestureListener());

        profileImage.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                    return mDetector.onTouchEvent(motionEvent);
            }
        });

        topButtonLayout.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                return mDetector.onTouchEvent(motionEvent);
            }
        });

听众正在为两种观点工作。但我想检测/识别创建事件的视图。如果有任何办法,请告诉我。

1 个答案:

答案 0 :(得分:-1)

您可以在Touch()

上查看视图的ID
 public boolean onTouch(View view, MotionEvent motionEvent) {
           switch(view.getId()){
              case R.id.view1:
                    // Do action for view1
                   break;
              case R.id.view2:
                    // Do action for view2
                   break;  
           }
        }