Frage

Ich habe versucht, diese Ansichten Listenansicht hinzuzufügen, mit diese Art von Fabrik aber jedes Mal wenn ich das versuchen und fügen Blick auf eine ListActivity, kommt es mit nichts. Was mache ich falsch? Ich habe meine Liste Ansichten wie folgt:

 List<View> views = new ArrayList<View>();
 for(int x =0;x<tagg_views.size();x++){
      lv.addHeaderView(views.get(x));
 }
War es hilfreich?

Lösung

Es sieht aus wie Sie versuchen x Anzahl der Header zu Ihrem Listview hinzuzufügen. Das macht keinen Sinn.

Ein Listview sollte x Anzahl der Kopien der gleichen Ansicht, mit unterschiedlichen Informationen in jeder Zeile enthalten.

Hallo Listview ein gutes Beispiel für die korrekte gibt Verwendung eines Listview.

Andere Tipps

Warum fügen Sie die Ansichten in die Liste selbst? Ich würde empfehlen, jede Art von apropriate Adapter für die Liste. Der Adapter wird die Erstellung und das Recycling von Ansichten handhaben, während der Benutzer Scrollen etc. Wenn Sie einen Adapter verwenden, es wird abgeraten Referenzen sich auf die Ansicht zu speichern, wie Sie es in der Liste Ansichten tun.

Die addHeaderView Verfahren Sie wird verwenden, um einen einzelnen Header in die Liste aus, die immer an der Spitze der Liste angezeigt. Dies bedeutet, es in einer Schleife Aufruf nicht ein vernünftiges Ergebnis.

Blick in das helloListView Beispiel erwähnt Mayra zu verstehen wie eine Liste in android arbeitet. Um zu sehen, wie eine benutzerdefinierte listadapter Werke haben einen Blick auf diese Tutorial sieht trotz der schlechten Code-Formatierung viel versprechend.

Ein Listview mit und Adapter verbunden. Der Adapter ist für die in der Listview angezeigten Daten. Berücksichtigen Sie, dass intern Listview einen Pool von itmes schafft (oder einen Pool für jede Art von Element, das in Ihrem Fall angezeigt werden kann).

Zu diesem Zweck Ihres Adapter Bedarf der folgenden Methoden implementieren:

  • int getItemViewType (int position): die Art der Ansicht erhalten, die von getView erstellt werden (int, Ansicht, Viewgroup) für das angegebene Element. Sie müssen Sie Typen identifizieren.
  • int getViewTypeCount (): Gibt die Anzahl der Arten von Ansichten, die von getView (int, Ansicht, Viewgroup) erstellt wird. Dies wird verwendet, um einen Pool für jede Art von Element zu erstellen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top