首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CheckBox与onTouchListener

CheckBox与onTouchListener
EN

Stack Overflow用户
提问于 2015-11-17 09:25:21
回答 1查看 822关注 0票数 3

我有一个带有checkboxonTouchListener,在这个侦听器中,我使用以下情况进行切换:

  • MotionEvent.ACTION_DOWN
  • MotionEvent.ACTION_UP
  • MotionEvent.ACTION_CANCEL

当我在view.performClick()的情况下没有ACTION_UP时,我会收到一个警告:

当检测到单击时,onTouch应该调用View#performClick

但它导致我的方法行不通:

代码语言:javascript
复制
public void touchCheckBox(View view) {
    CheckBox checkBox = (CheckBox) view.findViewById(R.id.checkbox);
    checkBox.performClick();
}

如果我也将view.performClick()添加到ACTION_DOWN中,我的方法也能很好地工作。

我的touchCheckBox()代码是:

代码语言:javascript
复制
public boolean onTouch(View view, MotionEvent motionEvent) {
    boolean isEventConsumed;
    switch (motionEvent.getAction()) {
        case MotionEvent.ACTION_DOWN:
            row.setBackgroundColor(mContext.getResources().getColor(R.color.blueSelection));
            isEventConsumed = true;
            break;
        case MotionEvent.ACTION_UP:
            view.performClick();
            row.setBackgroundColor(mContext.getResources().getColor(R.color.white));
            touchCheckBox(row);
            isEventConsumed = true;
            break;
        case MotionEvent.ACTION_CANCEL:
            row.setBackgroundColor(mContext.getResources().getColor(R.color.white));
            isEventConsumed = true;
            break;
        default:
            isEventConsumed = false;
            break;
    }
    return isEventConsumed;
}

});

view.performClick()ACTION_UP的情况下是必要的,还是我可以抑制林特警告?

EN

回答 1

Stack Overflow用户

发布于 2015-11-17 09:52:02

https://code.google.com/p/android-developer-preview/issues/detail?id=1394

它被报道为窃听器,我认为你刚刚压制了警告。

嗯,试试这个:

代码语言:javascript
复制
public boolean onTouch(View v, MotionEvent event) {
    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
        // stuffs
        break;
    case MotionEvent.ACTION_UP:
        v.performClick();
        break;
    default:
        break;
    }
    return true;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33753244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档