自定义视图' ImageButton'已调用setOnTouchListener,但不会覆盖performClick

时间:2017-09-09 21:25:49

标签: java android warnings

嗯,我知道这个警告有一些问题,但我仍然无法弄清楚如何摆脱这个。 我不想在课程级别实现OnTouchListener界面,因为有很多按钮,我更喜欢将每一段代码都放在他自己的空间"上。 我在performClick()案例之后添加了ACTION_UP,但警告仍然存在。

enter image description here

谢谢

send.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View view, MotionEvent motionEvent) {
                    switch (motionEvent.getAction()){
                        case MotionEvent.ACTION_UP:
                            view.performClick();
                            break;
                        default:
                            break;
                    }
                    return true;
                }
            });

3 个答案:

答案 0 :(得分:12)

您的代码没问题,如果您确定代码的工作方式符合您的要求,您可以在以下位置禁用此类警告:文件 - > 设置 - > 编辑 - > 检查 - > Android - > Lint - > 辅助功能 - > 自定义视图中的辅助功能

答案 1 :(得分:9)

基本上它建议您应该继承ImageButton并覆盖其performClick()方法,但不值得麻烦只是在您的方法中使用@SuppressLint("ClickableViewAccessibility")来抑制此警告,或者只是像我一样禁用此警告那样。

答案 2 :(得分:-6)

更改此行代码

View.performClick ();

TO

send.performClick ();

并在活动结束时添加此覆盖方法。

@Override
public boolean performClick() {
// do what you want
return true;
}

希望有所帮助