2010-06-29 11 views
5

Gibt es irgendeine Art von "Repeater" -Funktion in Android? Ich habe ein relatives Layout (innerhalb einer Zeile in einer Listenansicht) und drinnen möchte ich eine Reihe von TextViews nacheinander anzeigen lassen (als wären sie untergeordnete Zeilen in der Listview-Zeile). Das Problem ist, dass die Anzahl dieser "untergeordneten Zeilen" variieren wird. Gibt es eine Möglichkeit, dies zu tun, oder sollte ich nur die TextView-Objekte im Code erstellen und sie programmatisch zu einem linearen oder Tabellenlayout hinzufügen?android repeater-ähnliche Funktionalität

Antwort

0

Eine Option ist TextViews Unterstützung Multi-line Text. So könnten Sie den Text mit einem StringBuilder mit "\ n" für neue Zeilen erstellen und müssen sich nicht um mehrere Textansichten kümmern.

+0

hmmm, das klingt wie eine nette Lösung. Das einzige Problem ist, dass ich brauche, dass jede "Kinderreihe" in einem hellblauen Kasten erscheint, mit einem weißen Abstand zwischen jeder "Reihe". – Ben

1

Die nächste Sache (neben ListView/ListAdapter natürlich), die ich von offhand denken kann, ist ViewSwitcher und ViewSwitcher.ViewFactory, aber es gibt wirklich nichts magisches dort: es ist eine Schnittstelle, die Sie aufrufen können, um eine Ansicht zu erhalten.

Da es nur eine Zeile ist, um eine Ansicht zu bekommen und sie zu Ihrer jetzigen Hierarchie hinzuzufügen, trotzdem (View.inflate(context, R.layout.somelayout, myContainerViewGroup)) fühlt es sich albern an, mit etwas Schwerem zu gehen, aber wenn es besser ist, das in einer Fabrik zu verpacken, Überprüfen Sie die AOSP source for ViewSwitcher.