Verschiedene Zeilenlayouts in ListView

8

Dieser Beitrag bezieht sich auf ViewHolder funktioniert nicht . In diesem Beitrag habe ich ein Tutorial über die Verwendung von ViewHolder in ListView verfolgt. Ich möchte jetzt, dass das letzte Element in ListView ein anderes Layout als der Rest hat. Hier ist mein Code:

%Vor%

Ich bekomme nur die ListView size minus 1 und habe eine Bedingung, die überprüft, ob die aktuelle Position gleich dem letzten Element ist. Dieser Code legt jedoch das Layout des letzten Elements gleich dem Rest fest. getView Methode vollständiger Code:

%Vor%

Könnte mir jemand dabei helfen?

    
antonoVodka 12.03.2012, 08:58
quelle

2 Antworten

27

Implementieren Sie die getItemViewType() und %Co_de% für Ihren Adapter:

%Vor%

und:

%Vor%

Dann in der Methode getViewTypeCount() herausfinden, welche Art von Ansicht aufzublasen ist:

%Vor%

Das Beispiel aus den Kommentaren: Ссылка (oder Ссылка )

    
Luksprog 12.03.2012, 10:38
quelle
0

Das Problem ist, dass, sobald Sie die Ansicht aufgebläht haben, sie mehrfach in jeder Position wiederverwendet werden kann. Ich würde den folgenden Ansatz vorschlagen: Sie blähen alle bis auf den letzten Artikel wie üblich auf (einschließlich des Ansichtshalters), aber für den letzten Artikel haben Sie den Verweis als ein Feld von CustomListAdapter und geben ihn jedes Mal zurück, wenn der letzte Artikel angefordert wird:

%Vor%     
a.ch. 12.03.2012 09:32
quelle