Remplir la liste de l'affichage personnalisé à l'aide de ListFragment
Je suis en train d'afficher les éléments dans une vue de liste à l'aide de Fragments. J'ai créé mon affichage personnalisé comme suit
représentation graphique de list_row.xml
list_row.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dip" >
<!-- ListRow Left sied Thumbnail image -->
<LinearLayout
android:id="@+id/thumbnail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginRight="5dip"
android:padding="3dip" >
<ImageView
android:id="@+id/list_image"
android:layout_width="50dip"
android:layout_height="50dip"
android:contentDescription="@string/image_desc"/>
</LinearLayout>
<!-- Menu name -->
<TextView
android:id="@+id/menu_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/thumbnail"
android:layout_toRightOf="@+id/thumbnail"
android:text="@string/menu_name"
android:textColor="#040404"
android:textSize="15sp"
android:textStyle="bold"
android:typeface="sans" />
<!-- Description -->
<TextView
android:id="@+id/description"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/thumbnail"
android:layout_below="@id/menu_name"
android:layout_marginTop="1dip"
android:layout_toRightOf="@+id/thumbnail"
android:text="@string/description"
android:textColor="#343434"
android:textSize="10sp"
tools:ignore="SmallSp" />
<!-- Price -->
<TextView
android:id="@+id/price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignTop="@id/menu_name"
android:layout_marginRight="5dip"
android:gravity="right"
android:text="@string/price"
android:textColor="#10bcc9"
android:textSize="10sp"
android:textStyle="bold"
tools:ignore="SmallSp" />
</RelativeLayout>
Dans fragment.xml fichier, j'ai simplement mis un affichage de liste à l'intérieur d'un linéaire de la mise en page
fragment.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</ListView>
</LinearLayout>
J'ai un tableau d'objets de menu, qui a la nécessaire champs à renseigner list_row.xml comme le nom du menu, la description, le prix et l'image. Je ne pouvais pas trouver un moyen de remplir fragment.xml's listView avec le list_row éléments. Toute aide ou idée serait appréciée.
PS: je pense que dans fragment.xml au lieu de android:id="@+id/listView1"
champ, je dois écrire android:id="@id/list"
depuis que je suis en utilisant ListFragment
source d'informationauteur inankupeli | 2013-04-30
Vous devez vous connecter pour publier un commentaire.
J'ai résolu mon problème (comme system32 suggère le commentaire) la création d'un CustomArrayAdapter classe, et de le définir comme l'adaptateur pour mon listView.
D'abord j'ai changé
android:id="@+id/listView1"
àandroid:id="@android:id/list"
dans fragment.xml.CustomArrayAdapter.java
Puis-je utiliser dans mon Fragment de classe