0

交互の行レイアウトで ListView を作成したいと考えています。

Row 1 - Layout A
Row 2 - Layout B
Row 3 - Layout A etc.

そのためにカスタム アダプタを作成する必要がありますか、それともデフォルトで可能ですか?

4

3 に答える 3

2

いいえ、アダプターなしではこれを行うことはできませんが、getViewTypeCount()BaseAdapterクラスを見てください。サポートされます。getItemViewType(postion)

最初に、行の種類がいくつあるかを Adapter に知らせます。あなたの場合、それらは2(レイアウトAとレイアウトB)です。

2 番目のメソッドは、指定された位置の型を返します。あなたの場合、次のコードのような簡単なものになる可能性があります。

@Override
public int getItemViewType(int postion){
    return (postion % 2);

詳細については、http: //android.amberfog.com/?p=296を参照してください。

于 2012-12-07T13:33:40.497 に答える
1

リストにそれほど多くの項目がない場合は、必ずしもListViewまたはアダプターを使用する必要はありません。

同様の結果を得るには、LinearLayout内でを使用できますScrollView

LinearLayoutこのようにして、リスト内の位置に基づいて、関連するスタイルでアクティビティを作成するときにアイテムを追加できます。

そうは言っても、リストにたくさんの(私が知っている非常に漠然とした)アイテムが含まれている場合は、ListView

a)アイテムがそれほど多くなく、b)実行時にリストからアイテムを挿入/削除しない場合(最初のビルドを除く)、私は個人的にこの方法を使用します。そうでない場合は、実行する必要があります。各アイテムはそのスタイルを調整します。

于 2012-12-07T14:18:02.680 に答える
0

独自のレイアウトとアダプターを開発する必要があり、デフォルトのアダプターを使用すると、配置したいレイアウトを選択できません。

于 2012-12-07T13:29:25.137 に答える