ScrollView中的ImageView与onTouch()或onClick()事件

时间:2012-12-07 12:48:43

标签: android android-imageview onclicklistener ontouchlistener

我在ImageView内有ScrollViewImageView是可点击的,可以打开一个新的Activity

每当我滚动浏览我的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() ...

我做错了什么?

1 个答案:

答案 0 :(得分:2)

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

 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;
        }
    });