KIO
Kreative Ideen online

So verwenden Sie einen einfachen Cursoradapter

Sie initialisieren den Adapter und fügen ihn dann an die Listenansicht an.

SimpleCursorAdapter listAdapter = neue SimpleCursorAdapter(this,android. R.layout.simple_list_item_1,cursor,new String[]"NAME", new int[]-android. R.id.text1,0);

Verwenden Sie setAdatper(), um den Adatper mit der Listenansicht zu verbinden.
listDrinks.setAddapater(listAdapter);

Cursor: Dies ist der Cursor

neue String[]"NAME", neue int[]-android. R.id.text1: Zeigt den Inhalt der NAME-Spalte in den ListenView-Textansichten an.

Die allgemeine Form des SimpleCursorAdapter-Konstruktors sieht wie folgt aus:

SimpleCursorAdapter Adapter = neuer SimpleCursorAdapter(Conctext-Kontext, int-Layout, Cursorcursor, String[] fromColumns, int[] toViews, int-Flags)

Kontextkontext: Dies ist in der Regel die aktuelle Aktivität

int-Layout: Anzeigen der Daten

Cursorcursor: Der Cursor, den Sie erstellen – der Cursor sollte die _id-Spalte und die Daten enthalten, die angezeigt werden sollen

fromColumns:Welche Spalten im Cursor mit welchen Ansichten übereinstimmen

int-Flags: Wird verwendet, um das Verhalten des cursors zu bestimmenDe
r Flags-Parameter wird normalerweise auf 0 gesetzt, was der dfault ist. Die alternative besteht darin, zu FLAG_REGITE_CONTENT_OBSERVER zu wechseln, um einen Inhaltsbeobachter zu leiten, der benachrichtigt wird, wenn sich die Inhaltsänderungen ändern – es kann zu Speicherverlusten führen.

Jeder Cursor, den Sie mit einem Cursoradapter verwenden, MUSS die _id-Spalte enthalten, oder es wird nicht funktionieren.

Der Cursor muss geöffnet bleiben.

Wenn Sie einen Cursoradapter verwenden, benötigt der Cursoradapter den Curso, um geöffnet zu bleiben, da er weitere Daten daraus erstellen muss.

Ein Beispiel:

  • Die Listenansicht wird auf dem Bildschirm angezeigt. We
    nn die Liste zum ersten Mal angezeigt wird, wird die Größe an den Bildschirm angepasst. Nehmen wir an, es hat Platz, um fünf Elemente anzuzeigen.
  • In der Listenansicht wird der Adapter nach den ersten fünf Elementen gefragt.
  • Der Cursoradapter fordert seinen Cursor auf, fünf Zeilen aus der Datenbank zu les
    en. Unabhängig davon, wie viele Zeilen die Datenbanktabelle enthält, muss der Cursor nur die ersten fünf Zeilen lesen.
  • Der Benutzer scrollt die ListeA
    ls der Benutzer die Liste scrollt, fordert der Adapter den Cursor auf, moremrows aus der Datenbank zu lesen. Dies funktioniert einwandfrei, wenn die Cursor noch geöffnet sind. Wenn nicht – es wird nicht funktionieren.
  • Daher müssen Sie den Sursor und die Datenbank in der Activitys onDestroy()-Methode schließen.
öffentliche void onDestroy()"
   super.onDestroy();
   cursor.close();
   db.close()
}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert