如何在ListView具有setOnTouchListener时处理OnItemClick和OnItemLongClick事件

时间:2014-05-01 09:33:00

标签: android-listview onitemclick ontouch

我已经设置了onTouchListener以实现项目滑动功能的ListView,我仍然需要onItemClick和onItemLongClick事件,但我不能这样做。

当我注意到onTouch函数,并返回false时,onItemClick或longClick将响应。代码如下:

public boolean onTouch(View v, MotionEvent event) {
    return false
}

但是当我做了一些事情然后在Action_Up上我将它返回false时,click事件没有响应。就像那样:

public boolean onTouch(View v, MotionEvent event) {
        switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:
            // Todo something
            break;
        case MotionEvent.ACTION_MOVE:
            // Todo something
            break;
        case MotionEvent.ACTION_UP:
            // Todo something
            if (the Condition) {
                return true;
            } else {
                return false;
            }
            break;

        default:
            break;
        }
        return true;
    }

我不知道为什么。我已经搜索了几天,直到现在我仍然不知道该怎么做。请帮助我。

1 个答案:

答案 0 :(得分:-1)

我找到了方法。顺便说一下,有很多库可以做到这一点。