다음을 통해 공유


Xamarin.Android ListView 파트 및 기능

A ListView 는 다음 부분으로 구성됩니다.

  • 행 - 목록에 있는 데이터의 표시 표현입니다.

  • 어댑터 – 데이터 원본을 목록 보기에 바인딩하는 시각적 개체가 아닌 클래스입니다.

  • 빠른 스크롤 – 사용자가 목록의 길이를 스크롤할 수 있는 핸들입니다.

  • 섹션 인덱스 - 현재 행이 있는 목록의 위치를 나타내기 위해 스크롤 행 위로 떠다니는 사용자 인터페이스 요소입니다.

이러한 스크린샷은 기본 ListView 컨트롤을 사용하여 빠른 스크롤 및 섹션 인덱스가 렌더링되는 방법을 보여 줍니다.

Screenshots of apps using Plain old rows, fast scrolling, and section index

구성하는 ListView 요소는 아래에서 자세히 설명합니다.

각 행에는 고유한 View행이 있습니다. 뷰는 정의된 Android.Resources기본 제공 보기 중 하나이거나 사용자 지정 보기일 수 있습니다. 각 행은 동일한 보기 레이아웃을 사용하거나 모두 다를 수 있습니다. 이 문서에는 기본 제공 레이아웃을 사용하는 예제와 사용자 지정 레이아웃을 정의하는 방법을 설명하는 다른 예제가 있습니다.

어댑터

컨트롤에는 ListViewAdapter 각 행에 대해 서식이 지정된 형식을 View 제공해야 합니다. Android에는 사용할 수 있는 기본 제공 어댑터 및 뷰가 있거나 사용자 지정 클래스를 만들 수 있습니다.

빠른 스크롤

ListView 여러 행의 데이터를 포함하는 경우 사용자가 목록의 모든 부분으로 이동하는 데 도움이 되도록 빠른 스크롤을 사용하도록 설정할 수 있습니다. 빠른 스크롤 '스크롤 막대'는 선택적으로 사용하도록 설정하고 API 수준 11 이상에서 사용자 지정할 수 있습니다.

섹션 인덱스

긴 목록을 스크롤하는 동안 선택적 섹션 인덱스(선택 사항)는 사용자에게 현재 보고 있는 목록의 어떤 부분에 대한 피드백을 제공합니다. 일반적으로 빠른 스크롤과 함께 긴 목록에만 적합합니다.

클래스 개요

표시하는 ListViews 데 사용되는 기본 클래스는 다음과 같습니다.

UML diagram illustrating relationships between ListView and associated classes

각 클래스의 용도는 아래에 설명되어 있습니다.

  • ListView – 스크롤 가능한 행 컬렉션을 표시하는 사용자 인터페이스 요소입니다. 휴대폰에서는 일반적으로 전체 화면(이 경우 클래스를 ListActivity 사용할 수 있음)을 사용하거나 휴대폰 또는 태블릿 장치에서 더 큰 레이아웃의 일부가 될 수 있습니다.

  • 보기 – Android의 보기는 모든 사용자 인터페이스 요소가 될 수 있지만 컨텍스트에서 ListView 각 행에 대해 제공해야 합니다 View .

  • BaseAdapter – 데이터 원본에 바인딩하는 어댑터 구현의 ListView 기본 클래스입니다.

  • ArrayAdapter – 문자열 배열을 for display에 바인딩하는 기본 제공 어댑터 클래스입니다 ListView . 제네릭 ArrayAdapter<T> 은 다른 형식에 대해 동일하게 수행됩니다.

  • CursorAdapter – SQLite 쿼리를 기반으로 데이터를 사용 CursorAdapter 하거나 SimpleCursorAdapter 표시합니다.

이 문서에는 사용자 지정 구현이 필요한 더 복잡한 예제뿐만 아니라 사용하는 ArrayAdapter 간단한 예제가 CursorAdapter포함되어 있습니다BaseAdapter.