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

Aeo*_*ave 21 java android warnings

好吧,我知道有关于这个警告的一些问题,但我仍然无法弄清楚如何摆脱这个.我不想OnTouchListener在类级别上实现接口,因为有很多按钮,我更喜欢将每一段代码保存在他自己的"空间"上.我performClick()ACTION_UP案件后添加但警告仍然存在.

在此输入图像描述

谢谢

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;
                }
            });
Run Code Online (Sandbox Code Playgroud)

小智 12

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

  • 丹,这是否意味着他的警告是完全没有用的? (3认同)

Tha*_*man 9

基本上它表明你应该子类化ImageButton并覆盖它的performClick()方法但是不值得麻烦只是@SuppressLint("ClickableViewAccessibility")在你的方法中使用抑制此警告或者像我一样禁用此警告.


Mal*_*san -6

改变你的这行代码

View.performClick ();
Run Code Online (Sandbox Code Playgroud)

send.performClick ();
Run Code Online (Sandbox Code Playgroud)

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

@Override
public boolean performClick() {
// do what you want
return true;
}
Run Code Online (Sandbox Code Playgroud)

希望有帮助

  • 我无法在我的活动中添加 PerformClick 的重写,因为没有这样的可重写方法。我的活动扩展了 AppCompatActivity (6认同)