2017-02-19 1 views
0

i wurde mit Listview in Android arbeiten, so Elemente in die Liste mit einem Knopf zum Einfügen ich habe folgende:Was ist der Unterschied zwischen dem Einfügen in ArrayAdapter und dem Hinzufügen in ArrayList?

addButton.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      listItems.add(editText.getText().toString()); 
      adapter.notifyDataSetChanged(); 
     } 
    }); 

dies funktioniert: erstellt Arraylist, arrayadapter, den Adapter den folgenden Code zu Arraylist gesetzt und verwenden gut, aber ich habe auch festgestellt, dass es eine Methode namens insert für die ArrayAdapter so was ist der Unterschied zwischen Einfügen in ArrayAdapter und Hinzufügen in arrayList?

PS: ich bin neu zu diesem Adapter-Konzept kann es mir mitteilen? danke.

Antwort

1

ArrayAdapter ist anders als ArrayList

Zum einen Adapter in Android ist:

Ein Adapter-Objekt fungiert als Brücke zwischen einem AdapterView und den zugrunde liegenden Daten für diese Ansicht. Der Adapter bietet Zugriff auf die Daten Elemente. Der Adapter ist auch dafür verantwortlich, im Datensatz eine Ansicht für jeden Artikel anzulegen.

Siehe docs für Details und Typen von Adapters in Android

Und ArrayAdapter ist:

Ein konkretes BaseAdapter, die durch eine Reihe von willkürlichen Objekte gesichert ist.

AberArrayList ist:

Resizable-Array Implementierung der List-Schnittstelle. Implementiert alle optionalen Listenoperationen und lässt alle Elemente zu, einschließlich null. In Zusätzlich zur Implementierung der List-Schnittstelle stellt diese Klasse Methoden zur Verfügung, um die Größe des Arrays zu bearbeiten, das intern zu verwendet wird, um die Liste zu speichern. (Diese Klasse entspricht in etwa dem Vektor, außer , dass sie nicht synchronisiert ist.)

zu docs

für weitere Informationen siehe

Auchanswer

+0

die andere Antwort, die Sie verknüpft war helpful.if ich es zwischen den beiden von ihnen über den Unterschied für mehr Verständnis dieses lesen richtig verstehen Es gibt einen Unterschied zwischen "Einfügen" in Adapter und "Hinzufügen" zu Arraylist. Also welchen soll ich benutzen? – anotherGatsby

+0

@anotherGatsby Haben Sie den Unterschied zwischen 'ArrayAdapter' und' ArrayList' verstanden? Sie können zwei Methoden aus zwei verschiedenen Klassen nicht vergleichen. Insert wird verwendet, um Objekte in das Array des Adapters einzufügen, und das Hinzufügen der 'ArrayList' wird verwendet, um Objekte in die Sammlung' ArrayList' einzufügen. –

+0

Ich denke, ich werde die 'insert' und' add' Methoden ausprobieren weiß, wie sie sich wirklich unterscheiden. – anotherGatsby

2

In einfachem Verständnis kann man sagen, dass:

Arraylist für Elemente der Liste verwendet, während der Arbeit von arrayAdapter die Elemente der Liste zu verwalten ist.

Zeilen werden auf Anforderung vom Adapter erstellt, wenn sie auf dem Bildschirm angezeigt werden.

Ich würde Ihnen empfehlen, den Link zu überprüfen, ob Sie mehr über sie lernen wollen https://developer.android.com/reference/android/widget/ArrayAdapter.html https://developer.android.com/reference/java/util/ArrayList.html

Verwandte Themen