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 に答える