Frage

Ich aktualisiere Home ListView mithilfe von Daten, die von DB abgerufen wurden. Wenn ich weitergehe, dann kommt es zu Hause ab, es stürzt ab

Mein Code ist hier

protected void onRestart() {
    super.onRestart();
    Log.i(TAG, "onRestart called");
    DatabaseManager.getInstance(HomeActvity.this).open();
    listAdapter.notifyDataSetChanged();
    DatabaseManager.getInstance(HomeActvity.this).closeDatabase();
}

Mein Protokoll ist:

11-28 19:07:22.606: E/AndroidRuntime(24303): java.lang.IllegalStateException: database not open
11-28 19:07:22.606: E/AndroidRuntime(24303):    at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1224)
11-28 19:07:22.606: E/AndroidRuntime(24303):    at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1184)
11-28 19:07:22.606: E/AndroidRuntime(24303):    at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1264)

Ich habe Runonuithread () ausprobiert.

War es hilfreich?

Lösung

Warum schließen Sie Ihre Datenbank gleich nach der Benachrichtigung, die Datachanged ist? Ich denke, die Datenbanklesen ereignen sich nach dem Schließen. Versuchen Sie, die Linie zu entfernen und zu prüfen, ob sie funktioniert.

DatabaseManager.getInstance(HomeActvity.this).open();
listAdapter.notifyDataSetChanged();

DatabaSanemanager.getInstance (homactvity.this) .closedatabase ();

Andere Tipps

Sie tun nichts zwischen offen und nah! Woher..

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top