2016-03-23 26 views
0

Ich habe eine horizontale Recyclerview mit Radio-Button als recyclerview Element. Ich muss alle anderen Radio-Button als falsch auswählen, ohne den aktuell ausgewählten Radio-Button. Also habe ich getan -Zeilenpositionsanzeige Problem in RecyclerView android

Es funktioniert gut, wenn ich 4 bis 5 Artikel habe. Wenn es jedoch mehr als 5 Elemente hat, werden immer mehrere Optionsfelder als wahr ausgewählt, weil die Ansicht wiederverwendet wird. Ein gegebenes Foto zeigt an, dass das erste Element ausgewählt ist, aber auch das 10. Optionsfeld ist ausgewählt, wenn ich blättern muss.

First image

2nd Image

Wie die Zeilenanzeigeposition Problem zu beheben. Ich muss immer nur ein Optionsfeld auswählen und alle anderen Optionsfelder von recyclerview als false auswählen.

+0

http://stackoverflow.com/questions/27438858/ checkbox-in-spinner-adapter-is-automatisch-checked-wenn-ich-Scroll-it/27438944 # 27438944 Sie können dies durch diese Antwort lösen –

Antwort

0

die Methode außer Kraft setzen getItemViewType die viewholder in viele verschiedene Art und Weise zu formatieren, basierend auf dem Wert (oder was auch immer) der Ansicht

@Override 
public int getItemViewType(int position) { 

    // example 
    return 0; 

} 

dann in Ihrem onBindViewHolder Methode

@Override 
public void onBindViewHolder(Adapter.ViewHolder viewHolder, int position) { 


    if(this.getItemViewType(position)==1){ 
     // layout #1 
    }else{ 
     // layout #2 
    } 

}

0

Verstehen, wie Recyclerview oder Listview funktioniert

Sie müssen den geprüften Status irgendwo speichern, um ihn beim Aufruf von bindview zu aktualisieren, wobei Sie den aktivierten Status auf true setzen können.

Listview oder RecyclerView wird die Ansicht von jedem Scroll-Index wiederverwenden.

Die gleiche Ansicht, die Sie zuvor ausgewählt haben, kann beim Zurückblättern nicht auf demselben Index erwartet werden.

0

Eine einfache Möglichkeit, dies zu tun, ist eine Eigenschaft in dem jeweiligen Modell zu erstellen und dann in onBindViewHolder (es) die Radioknöpfe entsprechend dem Modell Eigenschaft überprüft