2011-01-02 5 views
0

Ich habe eine DB-Helfer-Klasse, die mir hilft, Datensätze von Informationen in Android 1.6 einzufügen und zu löschen.Android: Fehler, Ljava/lang/IllegalStateException ;: Finalisierung des Cursors, t_forms, die nicht deaktiviert oder geschlossen wurde

Wenn ich einen Datensatz löschen und einen neuen einen gerade danach, erhalte ich die folgenden Fehler

Ljava/lang/Illegal ;: Finalisierung Cursor [email protected] auf t_forms das hat nicht deaktiviert oder geschlossen

Ich bin durch das Internet auf der Suche nach einer Antwort gegangen, und die meisten Forenbeiträge sagen, dass ein Cursor nicht geschlossen ist. Tatsächlich die Operationen, die ich ausführe sind nicht wirklich Re-Cord-Set-Daten, also bin ich ein wenig ratlos, warum Logcat diesen Fehler werfen würde ...

Das sind also die 2 Funktionen ns, die nacheinander aufgerufen werden.

//---deletes a particular form--- 
public boolean deleteForm(int formID) 
{ 
    return db.delete(DATABASE_TABLE, KEY_FORM_ID + "=" + formID, null) > 0; 
} 

//---insert a form into the database--- 
public long insertForm(int form_id, String lform_name, String lform_description, String sdcardPath) 
{ 
    ContentValues initialValues = new ContentValues(); 
    initialValues.put(KEY_FORM_ID, form_id); 
    initialValues.put(KEY_FORM_NAME, lform_name); 
    initialValues.put(KEY_FORM_DESC, lform_description); 
    initialValues.put(KEY_SDCARDPATH, sdcardPath); 
    return db.insert(DATABASE_TABLE, null, initialValues); 
} 

Was könnte das Problem sein?

+0

Der von Ihnen angegebene Code reicht nicht aus, um zu sagen, woher genau der Fehler stammt. –

Antwort

1

Der von Ihnen angegebene Code reicht nicht aus. Aber zuerst den Cursor in onDestroy und OnStop wie folgt schließen:

if(mCursor!= null && !mCursor.isClosed()) 
    mCursor.close(); 

und dann versuchen, ruft startManagingCursor(cursor) nach, wo Sie Ihre Cursor-Objekt verwenden, wenn Sie es verwenden, um eine Abfrage zu machen, etc., rufen sie nach der Operation Sie machen mit dem Cursor.

Verwandte Themen