2012-04-13 6 views
3

Die typische Anwendung einer Galerieansichtskomponente entspricht dem Einrichten eines ListView + ArrayAdapter-Arbeitsablaufs. Gibt es eine Möglichkeit, diesen Overhead zu umgehen, indem Sie eine Galerie deklarativ über XML definieren?So definieren Sie untergeordnete Ansichten in der Galerie über XML

<Gallery> 
    <TextView text="Screen 1 - Swipe to Next screen"/> 
    <TextView text="Screen 2 - Swipe to Prev screen"/> 
</Gallery> 

Wenn dies nicht der Fall ist, was würde es dauern zu arbeiten?

Antwort

3

Sie können untergeordnete Ansichten eines AdapterView (Galler, Spinner, ListView, ...) nicht direkt in einer Layout-XML-Datei definieren, wie Sie es in Ihrem Code getan haben.

Es gibt jedoch einen Weg, um Adapter zu vermeiden. Es hat jedoch eingeschränkte Verwendbarkeit. Sie können das Attribut android:entries verwenden.

<Gallery 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:entries="@array/my_items" > 
</Gallery> 

Vergeben Sie einen Verweis auf eine Array-Ressource als Wert des Attributs.

<string-array name="my_items"> 
     <item>text1</item> 
     <item>text2</item> 
     <item>...</item> 
</string-array> 

Die Galerie wird mit den Texten im Array gefüllt. Ich denke, dass Sie nur Texte verwenden können, um die Galerie (oder jedes andere AdapterView) auf diese Weise zu füllen, es wird nicht für komplexere Ansichten funktionieren. Sie müssen einen Adapter verwenden, um die Galerie mit komplexeren Elementen zu füllen.

+0

Mann, das ist so fantastisch. Das wusste ich nicht. –

Verwandte Themen