2017-12-02 5 views
0

Wie der Titel sagt Ich möchte RecyclerView Artikel-Stil zu ändern, wenn ich auf die Schaltfläche innerhalb oder RecyclerView Element (nicht auf alle Elemente nur auf einen angeklickt) klicken. Es sollte aussehen wieKlicken Sie auf RecyclerView Artikel ändern Sie seinen Stil

enter image description here

Nach einem der Tasten verbergen transparentes Overlay und führen Sie die Aktion auf das Element

+1

ok stell deinen Code ein, um das Problem zu überprüfen – diegoveloper

+0

Ich habe noch keinen Code dafür geschrieben. Ich habe nur Code für das Layout hinter und es funktioniert gut – kinez

Antwort

1

geklickt Hallo ich habe etwas ähnlich, ich eine recyclerview hatte und ich brauchte den Hintergrund ändern, wenn ein Element geklickt wurde, was ich getan habe, ist dies: im ViewHolder Konstruktor habe ich eine einfache OnClickListener:

public NoteViewHolder(View view) { 
     super(view); 
     name = view.findViewById(R.id.name); 

     view.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       if (view.isSelected()) 
        view.setSelected(false); 
       else 
        view.setSelected(true); 

       Log.d(TAG, "Clicked!"); 
      } 
     }); 
    } 

bei An diesem Punkt wird der Status Ihres Objekts zwischen ausgewähltem und nicht ausgewähltem Zustand umgeschaltet. Jetzt können Sie einen Selektor für den Hintergrund, in meinem Fall des Recycler Artikel Layout ist die folgende:

<?xml version="1.0" encoding="utf-8"?> 
    <TextView android:id="@+id/name" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="nome" 
    android:gravity="center" 
    android:background="@drawable/selected_background" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
/> 

Während selected_background ist ... na ja ein Wähler! Hier ist sie:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_selected="true" android:drawable="@color/selected"/> 
</selector> 

Wenn das Element in ausgewählten Zustand wird der Hintergrund wird auf die in den „ausgewählten“ Farbe spezifizierte geändert werden, oder Sie können eine ziehbar, Bild usw. passieren ...

Während Sie den ausgewählten Status für ein Element festlegen, können Sie die anderen Elemente abwählen.

Ich hoffe, es hilft.

Verwandte Themen