Pregunta

Estoy actualizando Home ListView utilizando datos recuperados de DB. Cuando salgo y vuelvo a casa, se bloquea

Mi código esta aquí

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

Mi registro es:

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)

Probé runonuithread () ..

¿Fue útil?

Solución

¿Por qué cierre su base de datos justo después de NotifyDatachanged? Creo que la lectura de la base de datos está ocurriendo después del cierre. Intente eliminar la línea y vea si está funcionando.

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

Databasemanager.getInstance (HomeActVity.THIS) .CLOSEDATABASE ();

Otros consejos

¡No estás haciendo nada entre Open and Close! Cómo..

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top