2017-05-18 2 views
1

Ich bin sehr verwirrt von der Warnung, die ich bekomme, weil ich keine benutzerdefinierte Klasse verwende, ich verwende einfach einen Floating Action Button. Hat jemand eine Idee, wie man dieses Problem lösen kann?Benutzerdefinierte Ansicht FloatingActionButton hat setOnTouchListener aufgerufen, überschreibt aber performClick nicht

"Benutzerdefinierte Ansicht FloatingActionButton hat setOnTouchListener sie aufgefordert hat, aber enthebt nicht 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; 
       } 
      } 
     }); 

relevanten XML für die 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"/> 

Nach einigen Tests, wie es scheint das Problem nur mit Android Studio 3.0 Canary, ich ging einfach zurück in die stabile Version von Studio und kein Fehler. Wenn jemand verstehen könnte, warum die Warnung für die neue Version aufkam, die geschätzt würde.

Antwort

0

Ich habe das gleiche Problem. Meine Ergebnisüberschreibungsmethode performClick():

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