Question

Je suis mise à jour à la maison à partir de données extraites listview de DB. Quand je sors puis retour à la maison, il tombe en panne

Mon code est ici

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

Mon journal est:

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)

J'ai essayé runOnUIThread () ..

Était-ce utile?

La solution

Pourquoi vous fermez votre base de données juste après notifydatachanged? Je pense que la lecture de la base de données se produit après la clôture. Essayez de supprimer la ligne et voir si cela fonctionne.

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

DatabaseManager.getInstance (HomeActvity.this) .closeDatabase ();

Autres conseils

Vous faites rien entre ouvrir et fermer! comment se fait ..

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top