2017-09-09 32 views
8

嗯,我知道有关于此警告的一些问题,但我仍然不知道如何摆脱这一点。 我不想在类级别上实现OnTouchListener接口,因为有很多按钮,我更愿意在自己的“空间”上保留每段代码。 我在ACTION_UP事件后添加了performClick,但警告仍然存在。自定义视图'ImageButton'已setOnTouchListener调用它,但不覆盖performClick

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; 
       } 
      }); 
+0

你的问题是不明确的,你可以详细点吗? –

+0

,当然,如果没有更好的解释我的问题,我很抱歉。 使用Android Studio 3的界面实现不断显示关于不重写performclick的警告。我正在寻找解决方案 – AeonDave

+0

Shar performclick()方法 –

回答

-4

更改您此行代码

View.performClick(); 

TO

send.performClick(); 

,并在结尾处添加此重写方法你的活动。

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

希望帮助

+0

原来的一个谢谢,但警告仍然存在 – AeonDave

+0

检查更新的答案 –

+3

我不能添加performClick我的活动,因为没有这种可重写的方法。 我的活动扩展AppCompatActivity – AeonDave

4

基本上,它意味着你应该继承ImageButton并覆盖其performClick()方法,但它是不值得的麻烦就在你的方法使用@SuppressLint("ClickableViewAccessibility")禁止这种警告或者像我一样,只是禁用此警告。

+1

这个抑制注释应该放在哪里?无论我在哪里尝试,我仍然得到皮棉错误。 –

+0

确实。在Android Studio 3中,我只是从设置菜单中禁用了此警告。 – ThanosFisherman

+0

@MatthewPape如果'setOnTouchListener'设置为它自己的视图,警告不会消失。在这种情况下,您可以简单地覆盖'performClick'方法,如果注释存在,则警告将消失。 – Max

2

你的代码是OK,如果你确信你的代码,就像你想要的,你可以禁用这种在警告:文件 - >设置 - >编辑 - >检查 - > Android的 - >皮棉 - >辅助 - >辅助在自定义视图