getViewTypeCountとgetItemViewTypeは、異なる列の異なる種類のViewがほしいときに使うことが出来ます。
たとえば連絡先アプリなどで偶数の列は左側に写真を奇数の列には右側に写真を置く、などの振り分けを行うことが出来ます。
奇数偶数で振り分ける場合は以下のように実装するのがよいでしょう。
lang
1@Override
2public int getViewTypeCount() {
3 return 2;
4}
5
6@Override
7public int getItemViewType(int position) {
8 return position % 2;
9}
フレームワークはViewの種類によって、getViewメソッドにあるconvertView経由でどのViewを扱うか決めます。
上の例では、偶数列では再使用のためにリサイクルされた左側に写真のあるView、奇数列では右側に写真があるものしか取得できません。
もしリストの全ての列が同じレイアウトならば、ビューの種類を気にする必要はありません。
BaseAdapter.javaで、全てのadapterにデフォルトの挙動を提供しています。
lang
1public int getItemViewType(int position) {
2 return 0;
3}
4
5public int getViewTypeCount() {
6 return 1;
7}
全ての列を同じビュータイプにできます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。