2017-09-09 57 views
8

Peki, bu uyarıyla ilgili bir takım soruların olduğunu biliyorum, ancak bundan nasıl kurtulacağımı henüz anlamadım. OnTouchListener arayüzünü sınıf seviyesinde uygulamak istemiyorum, çünkü çok sayıda düğme var ve her kod parçasını kendi "uzayında" tutmayı tercih ediyorum. i, ACTION_UP durumundan sonra performClick'i ekledim ancak uyarı hala devam ediyor.Özel görünüm 'ImageButton' üzerinde çağrılan setOnTouchListener var, ancak geçersiz kılmıyorsanız tıklayın

enter image description here

View.performClick(); 

send.performClick(); 

İÇİN sen

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

Sorunuz sen detaylandırabileceğiniz belli değil Görüntüleme? Tabii ki –

+0

ve sorunumu daha iyi bir şekilde açıklamamışsa özür dilerim. Android Studio 3 ile mi arayüz uygulaması, performclick'i geçersiz kılma konusunda bir uyarı göstermeye devam et. ve ben bir çözüm arıyorum – AeonDave

+0

Shar performclick() yöntemi –

cevap

-4

değiştirin kod sizin bu satırı ederiz Ve sonunda bu kılma yöntemi ekleyin Faaliyetin

+0

teşekkürler ama hala devam ediyor uyarı – AeonDave

+0

Güncelleştirme yanıtını denetle –

+3

Benim aktivitem, çünkü böyle bir geçersiz yöntem yoktur. benim etkinliğim genişletir AppCompatActivity – AeonDave

4

yardımcı

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

Umut Temelde bunu ImageButton alt sınıf ve performClick() yöntemini geçersiz gerektiğini göstermektedir ancak güçlük sadece yönteminde @SuppressLint("ClickableViewAccessibility") kullanarak bu uyarıyı kaldırmak veya benim yaptığım gibi sadece bu uyarıyı devre dışı değmez . İstediğiniz gibi kod çalıştığını eminseniz

+1

Bu baskı ek açıklama nerede yerleştirilmelidir? Nerede denediğim önemli değil, hala lint hatası alıyorum. –

+0

Gerçekten. Android Studio 3'te bu uyarıyı ayarlar menüsünden devre dışı bıraktım. – ThanosFisherman

+0

@MatthewPape 'setOnTouchListener' kendi görünümünde ayarlanmışsa uyarı kaybolmaz. Bu durumda, 'performClick' yöntemini geçersiz kılabilirsiniz ve ek açıklama mevcutsa uyarı kaybolacaktır. – Max

2

Kodunuz sadece içinde uyarılar bu tür devre dışı bırakabilir, Tamam: Dosya ->Ayarlar ->Editör ->Denetimler - >Android ->Lint ->Erişilebilirlik - Custom>Erişilebilirlik