답변:
Android 앱에 목록을 표시한다고 가정 해 보겠습니다. 이를 위해 ListView
Android 에서 제공하는 을 사용합니다 .
ListView
s는 실제로 데이터 자체를 포함하지 않습니다. 데이터가없는 UI 요소 일뿐입니다. ListView
Android 어댑터를 사용하여를 채울 수 있습니다 .
Adapter
구현이 데이터를 제공하고 해당 데이터의 표시를 제어하는 인터페이스입니다.
ListView
의 ListView
디스플레이 를 완전히 제어하는 자체 어댑터 . 따라서 어댑터는 목록에 표시되는 콘텐츠와 표시 방법을 제어합니다.
Adapter
인터페이스는 데이터를 전달하는 다양한 방법을 포함한다 ListView
. 를 구현하여 처음부터 고유 한 어댑터를 만들 수 있습니다 BaseAdapter
.
public class ArrayAdapter<T> extends BaseAdapter implements Filterable {
// One of the constructors
public ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects) {
init(context, resource, textViewResourceId, Arrays.asList(objects));
}
void manyMoreMethods(){}
}
어댑터를 정의 할 수 있습니다.
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, values);
TextView
데이터가 기록되는 IDAndroid의 Well 어댑터는 기본적으로 UI 구성 요소에 데이터를 채우는 데이터 소스와 UI 구성 요소 사이의 다리 역할을합니다.
예를 들어 목록 (UI 구성 요소)은 데이터 소스 배열에서 목록 어댑터를 사용하여 채워집니다.
제 이해를 공유하고 싶습니다.
데이터 소스와 레이아웃 (대부분 ListView) 간의 인터페이스입니다.
모바일 충전기 또는 USB 케이블의 예를 들어 보겠습니다. 와이어는 어댑터로 간주 할 수 있으며 데이터 소스 및 레이아웃은 각각 소켓 (플러그인 포인트) 및 USB 포트 (충전 포인트)로 이해할 수 있습니다.
모바일 충전의 경우 전원 공급 장치가 다를 수 있습니다 (예 : 보조 배터리, 소켓 또는 노트북에서 충전). Android에서 사용되는 어댑터의 경우도 마찬가지입니다. 데이터 소스는 응용 프로그램 요구 사항에 따라 변경 될 수 있습니다.
간단히 말해서 Android의 어댑터는 소스 (예 :)에서 데이터를 ArrayList<>
전달하여 레이아웃 (.xml 파일)으로 전달합니다.
Android의 어댑터는 어댑터보기 (예 :) ListView
와 해당보기의 기본 데이터 사이의 다리 입니다. 어댑터 없이는 세상이 어땠을 지 상상해보십시오!
세로로 스크롤되는 목록에 항목을 표시하는보기입니다. 항목은 ListAdapter
이보기와 연관된 에서 가져옵니다 .
는 ListAdapter
리스트의 각각의 행에 대한 레이아웃을 정의하고, 데이터를 제공하는 ListView
비아 setAdapter()
방법
ListView
.
Android는 여러 표준 어댑터를 제공합니다. 가장 중요한 것은
ArrayAdapter
및 CursorAdapter
입니다.
ArrayAdapter
배열 또는 목록을 기반으로 데이터를 처리 할 수 있습니다.
SimpleCursorAdapter
데이터베이스 관련 데이터를 처리 할 수 있습니다.어댑터는 기본적으로 콘텐츠를 전달하는 데 사용됩니다. 모든 응용 프로그램에있는 하나의 어댑터는 CursorAdapter로, 데이터베이스 쿼리에서 커서가 제공하는 콘텐츠를 전달할 수 있습니다. ListView에는 거의 항상 일종의 어댑터가 있습니다.