0

J'ai un FloatingActionButton sur une RecyclerView dans mon application. Le Button s'affiche correctement, mais lorsque je clique dessus, l'élément RecyclerView ci-dessous reçoit l'événement click, au lieu du bouton. Si je définis le RecyclerView pour afficher sur le FloatingActionButton, le Button fonctionne comme prévu.RecyclerView Article Mise en cliquée Lorsque Cliquez sur FloatingActionButton dans Android

Comment résoudre ceci, et faites le Button pour obtenir l'événement click?

Merci.

+0

Placez la FAB à l'intérieur ou disposition relative LinearLayout et définissez cette propriété de mise en page pour Android: cliquable = "true" android: focusableInTouchMode = "true" et son fait. –

+0

Fab.bringToFront() et ajouter clickable: true en xml –

+0

Merci les gars. – Fustigador

Répondre

0

Utilisez FrameLayout pour l'écran. vous pouvez obtenir tous les événements de clic, élément ou bouton flottant.

<FrameLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@android:color/white"> 
<android.support.v7.widget.RecyclerView 
     android:id="@+id/recyclerView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 
    </android.support.v7.widget.RecyclerView> 
<android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|end" 
     android:layout_margin="@dimen/fab_margin" 
     android:src="@android:drawable/ic_dialog_email" /> 
</FrameLayout> 
0

Il ne peut se produire si vous ne définissez pas onClick Listener sur FloatingActionButton. Il suffit donc de mettre onClick Listener sur FloatingActionButton Votre problème sera résolu ....

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
fab.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      //Your code to do something if you have 
     } 
}); 

Si avoir sur l'action à faire mettre en œuvre juste un auditeur vide comme ci-dessus ..