我创建了一个自定义视图,它覆盖了onTouchListener,以便根据用户执行的操作使不同的图像被淹没。 (例如,当用户点击视图时更改视图的背景)。
我想在ListView中使用这个自定义视图,所以我创建了一个显示所有视图的自定义适配器,但我的ListView的onItemClickListener从未被触发。
我该怎么办?
以下是我的自定义视图中的代码:
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
setMode(MODE_SELECTED);
invalidate();
break;
case MotionEvent.ACTION_UP:
setMode(MODE_NONE);
invalidate();
break;
case MotionEvent.ACTION_CANCEL:
setMode(MODE_NONE);
invalidate();
break;
case MotionEvent.ACTION_OUTSIDE:
setMode(MODE_NONE);
invalidate();
break;
default:
break;
}
return true;
}
答案 0 :(得分:0)
好的,我找到了一个解决方案:我使用StateListDrawable,它避免我覆盖自定义视图的onTouch!