https://nodeload.github.com/necronet/section-list/zip/masterの指示に従ってセクション リスト ビューを実装しました。すべて正常に動作しますが、好奇心から、Android OS がアダプターの機能で正しい convertView をどのように提供するかを知りたいですgetView
(以下のコード)。ビューには、SectionView と ItemView の 2 種類 (2 つの異なるレイアウト ファイル) があります。最初のセクションとアイテムが画面の外にスクロールされ、View Recycler に 2 つのビューがある状況を想像してみてください。次に、新しいビューが下からスクロールインされようとしています。関数では、getView
関数ごとに位置を確認する必要がありますisSection
、その位置でどのビューを表示する必要があるかを決定します。驚くべきことは、Android OS (またはその下にあるもの) が常に正しい convertView (リサイクラーの 2 種類のビューの中で) をリサイクルすることです。ありがとう。
public View getView(final int position, final View convertView,
final ViewGroup parent) {
if (isSection(position)) {
return getSectionView(convertView, sectionPositions.get(position));
}
return getItemView(getLinkedPosition(position), convertView,
parent);
}