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的 - >皮棉 - >輔助 - >輔助在自定義視圖