0

配列リストを listView にバインドしようとしています。名前などのオブジェクトの値を、リストに表示されるリスト アイテムの XML 値に関連付ける方法がわかりません。

配列リストからリストビューに項目を追加しようとしています:

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,R.layout.list_item, beerList);

                    lv.setAdapter(arrayAdapter);

私の R.layout.list_item ファイルは次のようになります。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

<TextView android:id="@+id/itemName" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"/>

</LinearLayout>

私の完全なメイン ファイルはここで表示でき、配列リストの作成方法を確認できます。

http://pastebin.com/yV1K8TN1

4

2 に答える 2

1

これを変える:

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,R.layout.list_item, beerList);

これに:

 ArrayAdapter<BeerData> arrayAdapter = new ArrayAdapter<BeerData>(MainActivity.this,R.layout.list_item, beerList);

そして、あなたが満足している方法をBeerData実装していることを確認してください。toString()行のレイアウトが非常に単純でない場合は、独自のカスタムを作成する方がよい場合がありますAdapter

于 2013-06-18T07:16:43.240 に答える
0

ビール名をリストビューに表示しようとしている場合は、Iterator インターフェイスを使用して List を反復処理して List を取得し、これを arrayadapter に渡すことができます。

Iterator<BeerData> itr = beerList.iterator();
 List<String> lst = new ArrayList<String>();
while(itr.hasNext()){
  lst.add(itr.next().getBeerName());
}

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,R.layout.list_item, lst);
于 2013-06-18T07:33:56.087 に答える