0

我创建了一个覆盖 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;
}
4

1 回答 1

0

好的,我找到了一个解决方案:我使用 StateListDrawable 并且它避免了我覆盖自定义视图的 onTouch !

于 2012-06-27T13:59:58.023 回答