異なるレイアウトでAndroidのListView
を移入する推奨されるアプローチは複数のレイアウトを持つAndroid ListView:なぜ、 `getItemViewType`を気にする必要はありませんか?
getItemViewType(int position)
、およびgetViewTypeCount()
を上書きするように思われます。
これは、ここで(例えばhere、hereとhere)多くの質問と回答で明らかにされています。
具体的なコード・サンプル/チュートリアルを見ると、これらのメソッドをオーバーライドすることは正しいアプローチである理由は、しかし、私は本当に見ることができない。
- 基本的に全体のプロセスはまだのいくつかの並べ替えを持つことに帰着条件付き/スイッチステートメントint
getView(...)
は、指定された位置のリスト項目に応じて正しいレイアウトを展開します。 - この条件付き/スイッチは、を手入力でと書かなければなりません。なぜなら、とにかく手で選択したレイアウトを単に膨張させるのであれば、上記の方法をオーバーライドするのはどうしてですか?
主な問題は見ているgetItemViewType
署名力を使用すると、あなたが最初の任意のレイアウトタイプに再びこのint型をデコードgetView(...)
で、その後int
と(にあなたのレイアウトタイプをエンコードするということです...これは、追加の複雑さと可能性を追加しますエラーのため。すべての