2017-05-18 5 views
1

Je suis très confus par l'avertissement que je reçois parce que je n'utilise pas de classe personnalisée, je suis simplement en utilisant un bouton d'action flottant. Quelqu'un at-il une idée de la façon de résoudre ce problème?Vue personnalisée FloatingActionButton a appelé setOnTouchListener appelé, mais ne remplace pas performClick

"Vue personnalisée FloatingActionButton a setOnTouchListener appelé mais ne remplace pas performClick"

FloatingActionButton touchFab = (FloatingActionButton) findViewById(R.id.floatingActionButton); 
     touchFab.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       switch (event.getAction()) { 
        case MotionEvent.ACTION_DOWN: 
         round.setRound(); 
         round.setStartTime(System.currentTimeMillis()); 
         return false; 
        case MotionEvent.ACTION_UP: 
         round.setEndTime(System.currentTimeMillis()); 
//      setRecordedTime(round.getTimeDiff()); 
         round.afterRound(); 
         createFragment(); 
         return false; 
        default: 
         return false; 
       } 
      } 
     }); 

XML pertinentes pour la FAB.

<android.support.design.widget.FloatingActionButton 
      android:id="@+id/floatingActionButton" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_marginEnd="12dp" 
      android:layout_marginLeft="12dp" 
      android:layout_marginRight="12dp" 
      android:layout_marginStart="12dp" 
      android:clickable="true" 
      android:focusable="true" 
      app:backgroundTint="#FFF" 
      app:fabSize="normal" 
      app:layout_constraintBottom_toBottomOf="parent" 
      app:layout_constraintRight_toRightOf="parent" 
      app:rippleColor="@color/colorPrimaryDark"/> 

Après quelques essais, il semble que le problème est juste avec Android Studio 3.0 Canary, je suis retourné à la version stable du Studio et aucune erreur. Si quelqu'un pouvait comprendre pourquoi l'avertissement apparaissait pour la nouvelle version qui serait appréciée.

Répondre

0

J'ai le même problème. Ma méthode de substitution de résultat performClick():

class FAButton(context: Context?) : FloatingActionButton(context){ 
    override fun performClick(): Boolean { 
     return super.performClick() 
    } 
}