Ich habe einen RecyclerView mit Karten als primären Viewtyp erstellt. Was ich versuche zu erreichen, ist, dass, wenn der Benutzer auf ein Element klickt, der ViewType dieses Elements von den Karten zu einem anderen Viewtyp geändert wird (zum Beispiel eine Liste Textansichten, die horizontal scrollbar sind).
Mein Code für RecyclerView Adapter lautet wie folgt:
Im unteren Teil des Codes habe ich eine Arranyliste von Enum-Typen erstellt, um den Klickstatus jeder Zeile in der Recycleransicht zu verfolgen, dann habe ich die Größe meines Datasets und initialisierte meine Arraylist für jede Zeile mit SHOW_PRIMARY_CONTENT
%Vor%Unten ist meine ViewHolder-Klasse, die Verweise auf alle meine untergeordneten Ansichten enthält. Sie implementiert View.OnClickListener. Warum es View.OnClickListener implementiert, ist so, dass es zwischen geklickten Zuständen wechseln kann, um viewTypes entsprechend zu ändern.
%Vor%Hier bekomme ich den Wert von viewType, der von getItemViewType zurückgegeben wird und das überhöhte Layout zurückgibt
%Vor%Dann binde ich hier die Ansichten mit Werten entsprechend dem viewType, der vom viewholder zurückgegeben wird, mit viewholder.getItemViewType
%Vor%Und schließlich meine getItemViewType-Logik
%Vor%Was ich nicht verstehen konnte, ist, warum nichts angezeigt wird, wenn ich den Code ausführe, scheint mir alles zu gelten. Hilf mir !!!!
Ich hoffe, Sie haben Ihr Problem herausgefunden. Wenn nicht, dann habe ich es für dich getan. Die fehlerhafte Zeile ist
%Vor%Hier fügen Sie ein neues Element zu
hinzu %Vor%Dadurch wird ein neues Element eingefügt, und die Größe von mdataList und itemClickState unterscheidet sich, und daher tritt eine falsche Übereinstimmung auf.
Verwende itemClickedState.set(getAdapterPosition(), clickedState.SHOW_SECONDARY_CONTENT);
stattdessen. Und zweitens verstehe ich nicht was tvTicketClass ist. Wenn es eine einzelne TextView ist, dann sollten Sie die Zeichenfolge zuerst verketten und sie tun tvTicketClass.settext(concatenatedstrClass)
. Hoffe, Sie werden von diesem Beitrag geholfen. Wenn Sie ein weiteres Problem haben, kommentieren Sie bitte.
Tags und Links android android-recyclerview recycler-adapter