我在ImageView
内有ScrollView
。 ImageView
是可点击的,可以打开一个新的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()
...
我做错了什么?
答案 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;
}
});