Antworten:
Angenommen, Sie möchten eine Liste in Ihrer Android-App anzeigen. Hierfür verwenden Sie dieListView
von Android bereitgestellte.
ListView
s enthalten selbst keine Daten. Es ist nur ein UI-Element ohne Daten. Sie können Ihre ListView
s mit einem Android-Adapter füllen.
Adapter
ist eine Schnittstelle, deren Implementierungen Daten bereitstellen und die Anzeige dieser Daten steuern.
ListView
eigene Adapter, die ListView
die Anzeige des Geräts vollständig steuern . Adapter steuern also den in der Liste angezeigten Inhalt sowie dessen Anzeige.
Die Adapter
Schnittstelle enthält verschiedene Methoden zur Übermittlung von Daten an die ListView
. Sie können Ihren eigenen Adapter von Grund auf neu erstellen, indem Sie ihn implementierenBaseAdapter
.
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(){}
}
Definieren wir einen Adapter:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, values);
TextView
in den die Daten geschrieben werdenNun, Adapter in Android sind im Grunde eine Brücke zwischen den UI-Komponenten und der Datenquelle, die Daten in die UI-Komponente füllen
Beispielsweise werden Listen (UI-Komponente) mithilfe eines Listenadapters aus einem Datenquellenarray gefüllt.
Ich möchte mein Verständnis teilen.
Es ist eine Schnittstelle zwischen der Datenquelle und Ihrem Layout (höchstwahrscheinlich ListView).
Nehmen wir das Beispiel eines mobilen Ladegeräts oder vielmehr eines USB-Kabels. Das Kabel kann als Adapter betrachtet werden, während die Datenquelle und das Layout als Buchse (Steckpunkt) bzw. USB-Anschluss (Ladepunkt) verstanden werden können.
Beim mobilen Laden kann die Stromquelle unterschiedlich sein, z. B. beim Laden über eine Powerbank, eine Steckdose oder einen Laptop. Gleiches gilt für die in Android verwendeten Adapter. Die Datenquelle kann je nach Anwendungsanforderung geändert werden.
Kurz gesagt, ein Adapter in Android überträgt die Daten aus einer Quelle (z. B. ArrayList<>
) und liefert sie an ein Layout (XML-Datei).
Adapter in Android sind eine Brücke zwischen der Adapteransicht (z. B. ListView
) und den zugrunde liegenden Daten für diese Ansicht. Stellen Sie sich vor, was die Welt ohne Adapter gewesen wäre!
Eine Ansicht, die Elemente in einer vertikal scrollenden Liste anzeigt. Die Elemente stammen aus der ListAdapter
dieser Ansicht zugeordneten.
Das ListAdapter
definiert das Layout für einzelne Zeilen der Liste und liefert Daten ListView
über die setAdapter()
Methode von
ListView
.
Android bietet mehrere Standardadapter. die wichtigsten sind
ArrayAdapter
und CursorAdapter
.
ArrayAdapter
kann Daten basierend auf Arrays oder Listen verarbeiten.
SimpleCursorAdapter
kann datenbankbezogene Daten verarbeiten.Adapter werden grundsätzlich zur Bereitstellung von Inhalten verwendet. Ein Adapter, den Sie wahrscheinlich in jeder Anwendung haben, ist der CursorAdapter, mit dem Sie den von einem Cursor angegebenen Inhalt aus einer Datenbankabfrage bereitstellen können. Eine ListView hat fast immer eine Art Adapter.
Ein Adapter fungiert als Brücke zwischen einem AdapterView
und den zugrunde liegenden Daten für diese Ansicht. Der Adapter bietet Zugriff auf die Datenelemente und ist für die Erstellung einer Ansicht für jedes Element im Datensatz verantwortlich.
Adapter sind eine intelligente Möglichkeit, eine Verbindung View
mit einer Datenquelle herzustellen. In der Regel ist Ihre Ansicht a ListView
und die Daten werden in Form eines Cursor
oder angezeigt Array
. Adapter kommen also als Unterklassen von CursorAdapter
oder ArrayAdapter
.
Ein Adapter verwaltet das Datenmodell und passt es an die einzelnen Zeilen in der Listenansicht an. Es erweitert die BaseAdapter
Klasse.
Jede Zeile in der Listenansicht besteht aus einem Layout, das beliebig komplex sein kann. Eine typische Zeile in einer Listenansicht hat ein Bild auf der linken Seite und zwei Textzeilen in der Mitte.
Der Adapter wird einfach verwendet, um das Listenansichtskonzept zu erreichen. Nicht nur zum Anzeigen der Datenliste, sondern auch der benutzerdefinierten Ansicht. Angenommen, der Kunde möchte die Liste verwenden, die mehr Textansichten enthält (jede andere Ansicht), als die Adapteransicht in Android.
Am Ende sind Adapter sehr nützlich, um einen Bericht zu erstellen. Wenn Sie einen Bericht mit einigen Informationen anzeigen möchten, können Sie mit diesem Tool die Daten in der Ansicht anzeigen.