0

この種のファクトリを使用してこれらのビューをリスト ビューに追加 しようとしましたが、ビューを ListActivity に追加しようとするたびに、何も表示されません。私は何を間違っていますか?リストビューを次のように設定しました:

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

3 に答える 3

1

ListViewはとAdapterにリンクされています。アダプタは、ListViewに表示されるデータを担当します。ListViewが内部的にitmesのプール(または、ケースに表示できるアイテムのタイプごとのプール)を作成することを考慮に入れてください。

この目的のために、アダプタは次のメソッドを実装する必要があります。

  • int getItemViewType(int position):指定されたアイテムに対してgetView(int、View、ViewGroup)によって作成されるビューのタイプを取得します。したがって、タイプを識別する必要があります。
  • int getViewTypeCount():getView(int、View、ViewGroup)によって作成されるビューのタイプの数を返します。これは、アイテムのタイプごとにプールを作成するために使用されます。
于 2010-06-16T10:02:28.077 に答える
1

ListViewにx個のヘッダーを追加しようとしているようです。それは意味がありません。

ListViewには、同じビューのコピーがx個含まれている必要があり、各行に異なる情報が含まれている必要があります。

こんにちはListViewは、ListViewの正しい使用法の良い例を示しています。

于 2010-06-15T22:53:05.343 に答える
1

ビューを自分でリストに追加するのはなぜですか? リストには、あらゆる種類の適切なアダプターを使用することを強くお勧めします。アダプターは、ユーザーがスクロールしている間などにビューの作成とリサイクルを処理します。アダプターを使用する場合、ビュー リストで行っているように、ビューへの参照を自分で保存することはお勧めしません。

使用しているaddHeaderViewメソッドは、常にリストの一番上に表示されるリストへの 1 つのヘッダーに作成されます。これは、ループで呼び出すと妥当な結果が得られないことを意味します。

Mayra が言及しているhelloListViewの例を調べて、Android のリストがどのように機能しているかを理解してください。カスタム listadapter がどのように機能するかを確認するには、このチュートリアルを見てください。コードの形式が悪いにもかかわらず、有望に見えます。

于 2010-06-16T08:45:13.147 に答える