交互の行レイアウトで ListView を作成したいと考えています。
Row 1 - Layout A
Row 2 - Layout B
Row 3 - Layout A etc.
そのためにカスタム アダプタを作成する必要がありますか、それともデフォルトで可能ですか?
いいえ、アダプターなしではこれを行うことはできませんが、getViewTypeCount()
BaseAdapterクラスを見てください。サポートされます。getItemViewType(postion)
最初に、行の種類がいくつあるかを Adapter に知らせます。あなたの場合、それらは2(レイアウトAとレイアウトB)です。
2 番目のメソッドは、指定された位置の型を返します。あなたの場合、次のコードのような簡単なものになる可能性があります。
@Override
public int getItemViewType(int postion){
return (postion % 2);
詳細については、http: //android.amberfog.com/?p=296を参照してください。
リストにそれほど多くの項目がない場合は、必ずしもListView
またはアダプターを使用する必要はありません。
同様の結果を得るには、LinearLayout
内でを使用できますScrollView
。
LinearLayout
このようにして、リスト内の位置に基づいて、関連するスタイルでアクティビティを作成するときにアイテムを追加できます。
そうは言っても、リストにたくさんの(私が知っている非常に漠然とした)アイテムが含まれている場合は、ListView
a)アイテムがそれほど多くなく、b)実行時にリストからアイテムを挿入/削除しない場合(最初のビルドを除く)、私は個人的にこの方法を使用します。そうでない場合は、実行する必要があります。各アイテムはそのスタイルを調整します。
独自のレイアウトとアダプターを開発する必要があり、デフォルトのアダプターを使用すると、配置したいレイアウトを選択できません。