Verhindere IllegalStateException in SQLiteCursor für Android

Ich habe eine ListActivity , die an einen Cursor gebunden ist, wenn Elemente in der ListView ausgewählt sind, wird eine EditItem Aktivität von startActivityForResult gestartet. Diese EditItem Aktivität stellt mehrere Abfragen vor, die jeweils in ihrem eigenen Cursor platziert werden. Diese werden verwendet, um Spinner zu bevölkern, ähnlich wie ein Suchfeld in einer Access DB.

Mein Problem ist, dass, sobald der Benutzer diese EditItem Aktivität verlässt, entweder über EditItem , abbrechen oder zurück-Taste, geht zurück auf die ListView Aktivität und wählt einen anderen Eintrag in der ListView (gleiche Element oder eine andere) Ich bekomme IllegalStateException Fehler in meiner SQLiteCursor Klasse (Android, nicht meine). Ich schließe meine Cursor in der onDestroy Methode beider Aktivitäten, da manchmal das Aufrufen eines Ergebnisses immer noch die Berufstätigkeit zerstört.

  • Zeichnen eines kundenspezifischen Kreissegments dynamisch
  • RemotePlaybackClient, stop () nicht Rückruf
  • Wie bekomme ich Text Richtung in Android und ändern Layout dynamisch nach der Richtung?
  • Theme / Style wird nicht angewendet, wenn der Incater mit ApplicationContext verwendet wird
  • Wie kann ich einen ganztägigen Aktivitätskreis anzeigen?
  • JQuery Mobile / Phonegap auf Android - alle Text zeigt in Caps
  • Dies geschieht nicht immer bei der zweiten Auswahl eines Artikels, manchmal wird es bei der dritten Auswahl auftreten. Ich dachte, vielleicht bin ich nur schneller als das Betriebssystem gefahren, also fange ich an zu pausieren, bis zu 30 Sekunden, zwischen meinen Aktionen, wird der Fehler nur nach dem Aufrufen der Aktivität für das Ergebnis ein zweites oder drittes Mal geworfen. Keine Menge an Pausen behebt dies.

    Bearbeiten: Der Fehler ist in der SQLiteCursor finalize beim Aufruf von super.finalize();

    Bearbeiten # 2: Stack Trace für Thread:

     Daemon System Thread [<5> HeapWorker] (Suspended (exception IllegalStateException)) SQLiteCursor.finalize() line: 603 NativeStart.run() line: not available [native method] 

    Bearbeiten # 3 Stack Trace von LogCat (Teileliste ist der Tabellenname):

     INFO/dalvikvm(599): Ljava/lang/IllegalStateException;: Finalizing cursor android.database.sqlite.SQLiteCursor@437541a0 on partslist that has not been deactivated or closed INFO/dalvikvm(599): at android.database.sqlite.SQLiteCursor.finalize(SQLiteCursor.java:596) INFO/dalvikvm(599): at dalvik.system.NativeStart.run(Native Method) 

  • Android EditText Breite, weil Hint
  • GsaIOException Pufferüberlauf, kein verfügbarer Platz
  • Was bedeutet "ungültige Anweisung in fillWindow ()" im Android-Cursor bedeuten?
  • Zugriff auf Beschleunigungsmesser von jni
  • Android UI - Android horizontale Bildlaufansicht
  • Kotlin - lateinit VS irgendwelche? = Null
  • 2 Solutions collect form web for “Verhindere IllegalStateException in SQLiteCursor für Android”

    cursor.close() Sie sicher, dass Sie cursor.close() wenn mit ihnen beendet.

    Hinzufügen fehlender cursor.close() war die Lösung für das Problem.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.