Відповіді:
Припустимо, ви хочете відобразити список у додатку для Android. Для цього ви будете використовувати ListView
надані Android.
ListView
s насправді самі не містять ніяких даних. Це просто елемент інтерфейсу без даних у ньому. Ви можете заповнити свої пристрої ListView
за допомогою адаптера Android.
Adapter
це інтерфейс, реалізація якого надає дані та контролює відображення цих даних.
ListView
s власні адаптери, які повністю керують 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
до якого записуються даніДобре адаптери в Android - це в основному міст між компонентами інтерфейсу та джерелом даних, які заповнюють дані в компонент інтерфейсу
Наприклад, списки (компонент інтерфейсу користувача) заповнюються за допомогою адаптера списку з масиву джерел даних.
Я хотів би поділитися своїм розумінням.
Це інтерфейс між джерелом даних та вашим макетом (швидше за все ListView).
Візьмемо для прикладу мобільний зарядний пристрій, а точніше USB-кабель. Провід можна розглядати як адаптер, тоді як джерело даних та макет можна розуміти як розетка (точка підключення) та порт USB (точка зарядки) відповідно.
У випадку мобільної зарядки джерело живлення може бути різним, наприклад, заряджання від електроживлення, розетки або ноутбука. Те саме стосується адаптерів, які використовуються в Android. Джерело даних може бути змінено залежно від вимоги програми.
Коротше кажучи, адаптер в Android переносить дані з джерела (наприклад ArrayList<>
) і доставляє їх у макет (.xml файл).
Адаптери в Android - це міст між поданням адаптера (наприклад ListView
) та базовими даними для цього подання. Уявіть, яким би був світ без адаптерів!
Вид, який відображає елементи у списку вертикально прокрутки. Елементи походять із ListAdapter
асоційованого з цим поданням.
ListAdapter
Визначає макет для окремих рядків списку і надають дані ListView
по setAdapter()
методі
ListView
.
Android пропонує декілька стандартних адаптерів; найважливішими є
ArrayAdapter
і CursorAdapter
.
ArrayAdapter
може обробляти дані на основі масивів або списків.
SimpleCursorAdapter
може обробляти дані, пов'язані з базою даних.В основному адаптери використовуються для доставки вмісту. Один адаптер, який ви, мабуть, маєте в кожній програмі - це CursorAdapter, який дозволяє вам доставляти вміст, заданий курсором, із запиту бази даних. У ListView майже завжди є якийсь адаптер.
Адаптер діє як міст між даними AdapterView
та основними даними для цього представлення даних. Адаптер забезпечує доступ до елементів даних і відповідає за створення представлення для кожного елемента в наборі даних.
Адаптери - це розумний спосіб з'єднати View
джерело даних. Як правило, ваш погляд має бути a, ListView
а дані надходять у формі Cursor
або Array
. Тож адаптери поставляються як підкласи CursorAdapter
або ArrayAdapter
.
Адаптер керує моделлю даних та пристосовує їх до окремих рядків у вікні списку. Це розширює BaseAdapter
клас.
Кожен рядок у поданні списку складається з макета, який може бути таким же складним, як вам завгодно. Типовий рядок у списку списку має зображення зліва та два рядки тексту посередині.
Адаптер просто використовується для досягнення концепції перегляду списку. Не тільки для відображення списку даних, але і для деяких спеціальних подань. Припустимо, клієнт хоче скористатися списком, який містить більше кількості перегляду тексту (будь-який інший вигляд), тому нам доведеться використовувати перегляд адаптера в Android.
Зрештою, адаптери дуже корисні, щоб зробити звіт. Якщо ви хочете показати звіт про деяку інформацію, можна скористатися цим інструментом для відображення даних у поданому вигляді.