我已将OnTouchListener设置为图像视图。我想在用户按下图像时以及按下图像时执行两种不同的操作。但总是我按下事件为(ACTION_DOWN),但如果我使用按钮而不是ImageView,那么我可以同时使用ACTION_DOWN和ACTION_UP。但我必须使用ImageView而不是Button。如何在ImageView中实现ACTION_UP事件
prevImage.setOnTouchListener(this); // prevImage is an image View
@Override
public boolean onTouch(View view, MotionEvent arg1) {
// TODO Auto-generated method stub
Log.i("Wallpaper","...On touch ..." + arg1.getAction());
if (arg1.getAction() == MotionEvent.ACTION_DOWN) {
//set img1 as imagesource
} else if (arg1.getAction() == MotionEvent.ACTION_UP) {
//set img2 as imagesource and parse data from url
}
return false;
}
由于
答案 0 :(得分:6)
不知道这是否太晚。
您可以将其添加到xml文件中的imageView
android:clickable="true"
你可以使用if和else,如果你已经在那里做过。
希望这会有所帮助。
答案 1 :(得分:1)
请检查ACTION_CANCEL
是否被触发而不是ACTION_UP。当谈到图像时,它可能会被触发而不是ACTION_UP。
[编辑]此外,如果你拦截ACTION_DOWN事件,你必须返回true
,以便ACTION_UP被解雇。