2017-09-09 14 views
8

この警告に関する質問がありますが、これを取り除く方法はまだ分かりません。 多くのボタンがあり、自分の "スペース"にすべてのコードを保存したいので、クラスレベルでOnTouchListenerインターフェイスを実装する必要はありません。 performClick after ACTION_UPケースを追加しましたが、警告は引き続き発生します。カスタムビュー 'ImageButton'にはsetOnTouchListenerが呼び出されていますが、オーバーライドしませんperformClick

enter image description here

View.performClick(); 

send.performClick(); 

にあなたの

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

変更にコードのあなたの次の行に感謝し、最後に、このオーバーライドメソッドを追加しますあなたの活動の。

+0

からの元のものですが、警告が表示されていますが、まだ警告が続きます – AeonDave

+0

更新された回答を確認してください –

+3

performClickのオーバーライドを追加できませんそのような優先メソッドがないので、私の活動。 私の活動がAppCompatActivityを継承します – AeonDave

4

を助け

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

希望は基本的にそれはあなたがImageButtonをサブクラス化し、そのperformClick()メソッドをオーバーライドする必要がありますことを示唆しているが、それは面倒は自分の方法で@SuppressLint("ClickableViewAccessibility")を使用して、この警告を抑制したり、私が行ったように、単にこの警告を無効にする価値はありません。

+1

この抑制注釈はどこに置かれるべきですか?私がどこで試しても、私はまだ糸くずのエラーを取得します。 –

+0

確かに。 Android Studio 3では、設定メニューからこの警告を無効にしました。 – ThanosFisherman

+0

@MatthewPape 'setOnTouchListener'がそれ自身のビューに設定されていると、警告は消えません。この場合、単純に 'performClick'メソッドをオーバーライドすることができ、注釈が存在する場合、警告は消えます。 – Max

2

あなたのコードがOKであるあなたが望むように、あなたのコードが動作することが確実な場合は、あなただけで警告のこの種を無効にすることができます。 - >設定 - >エディタ - >検査ファイル - >アンドロイド - >リント - >アクセシビリティ - カスタムで>アクセシビリティ

関連する問題