Ich habe eine App, die Daten in Listview zeigt, aber ich möchte erste Zeile durch verschiedene Layout aufgeblasen werden, und ich tat das, aber da es gona eine große Anzahl von Listitems ist, möchte ich Listview optimieren und es gibt Problem. Ich kann ListView nicht optimieren, wenn ich listview auf diesem Weg fülle, also wie kann ich Inhalt, der in der ersten Reihe in Listview Header gehen sollte, die durch ein Layout aufgeblasen wird, hier ist der Code von Adapter
%Vor%Wenn ich Ihren Standpunkt verstanden habe - Sie können mit zwei Ansätzen gehen:
Fügen Sie headerView zur Liste hinzu. Das ist einfach, wie Sie Ihre Ansicht aufblasen und weitergeben
addHeaderView(View)
Ihrer Liste. Hinweis: Sie müssen diese Ansicht hinzufügen, bevor Sie den Adapter setzen, oder sie wird die Ausnahme auslösen.
Da Ihr "header" jedoch die gleichen Daten wie alle anderen Elemente darstellt, aber ein anderes Layout hat, empfehle ich, hier keinen Header zu verwenden. Versuchen Sie stattdessen, getItemViewType()
in Ihrem Adapter zu implementieren. Ссылка )
Wenn Sie dies tun, können Sie überprüfen, welche Art von Layout in getView()
method zurückgegeben wird. Und Android kümmert sich um die Optimierung und Wiederverwendung Ihrer überhöhten Ansichten für Sie, damit Sie sicher sein können, dass convertView
, die an Ihre getView
übergeben werden, den richtigen Typ und das richtige Layout haben.
Bitte lassen Sie mich wissen, wenn ich mit mehr Details erklären sollte.