ListViewに複数のビューを追加します
-
27-09-2019 - |
質問
これらのビューを追加してビューを使用して追加しようとしました この種の工場 しかし、私がリストアクティビティにビューを追加しようとするたびに、それは何も起こりません。私は何が間違っているのですか?私は私のリストビューをそうするように設定します:
List<View> views = new ArrayList<View>();
for(int x =0;x<tagg_views.size();x++){
lv.addHeaderView(views.get(x));
}
解決
ListViewにXの数のヘッダーを追加しようとしているようです。それは意味がありません。
ListViewには、同じビューのXのコピー数が含まれ、各行に異なる情報が含まれている必要があります。
こんにちはlistView ListViewの正しい使用法の良い例を示します。
他のヒント
なぜ自分でリストにビューを追加しているのですか?あらゆる種類の適切なものを使用することを強くお勧めします アダプタ リスト用。アダプターは、ユーザーがスクロールなどをしている間にビューの作成とリサイクルを処理します。アダプターを使用すると、ビューリストでそれを行っているように、ビューへの参照を保存するように妨げられます。
addheaderview 使用しているメソッドは、リストの上部に常に表示されるリストに1つのヘッダーに作成されます。これは、ループでそれを呼び出すことが合理的な結果にならないことを意味します。
を調べます HellolistView Mayraの例は、Androidのリストがどのように機能しているかを理解するために言及しています。カスタムリストアダプターがどのように機能するかを確認するには、これを見ています チュートリアル 悪いコードのフォーマットにもかかわらず、有望に見えます。
ListViewはリンクおよびアダプターです。アダプターは、ListViewに表示されるデータを担当します。内部的にListViewがITMESのプール(または、ケースで表示できるアイテムの種類ごとにプール)を作成することを考慮してください。
この目的のために、アダプターは次の方法を実装する必要があります。
- int getItemViewType(int position):指定されたアイテムのgetView(int、view、viewgroup)によって作成されるビューのタイプを取得します。したがって、タイプを識別する必要があります。
- int getViewTypecount():getView(int、view、viewgroup)によって作成されるビューのタイプの数を返します。これは、各タイプのアイテムのプールを作成するために使用されます。