我试图在ListView
的{{1}}方法中做一些工作。问题是,有时我会收到ACTION_UP
类型的MotionEvent
,但之前没有收到ACTION_DOWN
,这会完全破坏我的应用。有人可以解释可能存在什么问题吗?
这是我OnTouchListener
的一些代码:
@Override
public boolean onTouch(final View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
Log.d("TAG", "ATCION_DOWN");
break;
case MotionEvent.ACTION_MOVE:
//Log.d("TAG", "ACTION_MOVE");
break;
case MotionEvent.ACTION_UP:
Log.d("TAG", "ACTION_UP");
break;
}
return false;
}
这是我从日志中得到的:
答案 0 :(得分:1)
您的ListView是否在ScrollView中?如果它,有时ScrollView可以"窃取" Action_DOWN。 编辑:一开始不小心调用了ScrollView SpinnerView,我的不好。
EDIT2:问题显然是儿童的观点是偷窃"事件(因为事件被传递给布局层次结构中最低的子节点)。你可以通过在OnTouchEvents上返回false来解决这个问题。