Wenn man den Cursor in Android schaltet?

Ich habe eine App, die Cursor verwendet, um Daten über rawQuery aus einem sqlite db auszuwählen, um eine ListView in Android zu füllen ;. Jedes Mal, wenn der Benutzer auf ein Listview-Item klickt, erstellen wir eine neue Instanz von Activity, um die Listenansicht neu zu füllen. Ist es besser, cursor.close() und db.close() zu db.close() , um Speicherprobleme zu vermeiden? Ich habe eigentlich db.close() in OnDestroy() meiner Tätigkeit.

  • Verwenden Sie C ++ mit Android ndk / jni
  • Statische Android-Verknüpfungen für mehrere Geschmacksrichtungen?
  • Klicken Sie auf programmgesteuert in RecyclerView
  • Welches Android-Logging-Framework verwenden?
  • Android Backup Manager funktioniert nur auf lokaler Transport
  • Wie man eine FM Radio Anwendung in Android zu machen
  • Wie kann ich den Bildschirm im Android Emulator ausschalten?
  • Deaktivieren Sie die Clearing-Benachrichtigung für meine Anwendung
  • Wie erkennt man Fehler beim Speichern von Bildern im android falschen Dichteverzeichnis?
  • Phonegap run android - create Befehl fehlgeschlagen mit Exit-Code 8 - linux
  • Linke / rechte Polsterung für Button.setCompoundDrawablesWithIntrinsicBounds ()?
  • Android: Wie kann ich sagen, ob die Soft-Tastatur zeigt oder nicht?
  • 2 Solutions collect form web for “Wenn man den Cursor in Android schaltet?”

    Sie können den cursor sobald Sie die Werte für das jeweilige Objekt innerhalb Ihrer Methode abgerufen haben.

    Btw … Du musst keine listview jedes Mal für ein User-Click-Event neu listview . Bitte benachrichtigen Sie, dass es eine Änderung der Daten Ihres Adapters gibt, die auf der Listenansicht eingestellt wurde.

    Etwas wie

     youradaptername.notifyDataSetChanged(); 

    Dies sollte den Inhalt innerhalb von ur listview automatisch listview .

    Nun, wenn Sie eine neue Instanz jedes Mal der gleichen Aktivität (obwohl ich bin mir nicht sicher, seine eine gute Programmierung Praxis). Sie können den Cursor schließen, sobald Sie durch die Quelle der Listenansicht gefahren sind.

    Beispiel:

    Eine Beispielimplementierung wäre so etwas wie

     //Pre cursor code startManagingCursor(cursor); if (cursor.moveToFirst()) { do { if (cursor.getString(0).equals(value)) { cursor.close(); a = true; return a; } } while (cursor.moveToNext()); } //Close cursor here, when its work is complete cursor.close(); //Post cursor code ... 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.