Android 带有onTouch()或onClick()事件的ScrollView内部的ImageView

Android 带有onTouch()或onClick()事件的ScrollView内部的ImageView,android,android-imageview,onclicklistener,ontouchlistener,Android,Android Imageview,Onclicklistener,Ontouchlistener,我在滚动视图中有一个图像视图。ImageView可单击并打开一个新的活动 每当我在ScrollView中滚动第一次触摸图像(但还没有松开手指)并尝试滚动时,就会触发我的onTouch()或onClick()方法(我已经尝试了这两种方法…) 这是我的密码: btnAdd.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event

我在
滚动视图
中有一个
图像视图
ImageView
可单击并打开一个新的
活动

每当我在ScrollView中滚动第一次触摸图像(但还没有松开手指)并尝试滚动时,就会触发我的
onTouch()
onClick()
方法(我已经尝试了这两种方法…)

这是我的密码:

btnAdd.setOnTouchListener(new OnTouchListener() {
       @Override
       public boolean onTouch(View v, MotionEvent event) {
           Intent intent = new Intent(Intent.ACTION_EDIT);
           startActivity(intent);
           return true;
       }
});
正如我所说,我还尝试了
onClick()


我做错了什么?

当触发OnTouchListener时,它会侦听多个动作(动作停止、动作停止等)并执行所有动作,因此您应该准确指定何时启动新活动(在动作停止的情况下)。所以试着用这个:

 btnAdd.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_UP){
                Intent intent = new Intent(Intent.ACTION_EDIT);
                startActivity(intent);
            }
            return true;
        }
    });

我很高兴能帮助你:)