0

我有ImageView一个ScrollView. 是可点击的ImageView并打开一个新的Activity.

每当我滚动浏览我的 ScrollView 时,首先触摸图像(但还没有释放我的手指)并尝试滚动它会触发我的onTouch()oronClick()方法(我都尝试过...)

这是我的代码:

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

正如我所说,我也尝试过onClick()......

我究竟做错了什么?

4

1 回答 1

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;
        }
    });
于 2012-12-07T13:25:29.440 回答