zhym Posté(e) 24 septembre 2010 Share Posté(e) 24 septembre 2010 Bonjour, Alors mon soucis est assez simple, j'ai deux activités, une principale et une secondaire qui est un formulaire. Dans les onCreate de mes deux activités, j'initialise ma base de donnée. mDbAdapter = new zMotoDBAdapter(this); mDbAdapter.open(); Dans les onPause et onStop, je stoppe ma base de donnée if (mDbAdapter != null){ mDbAdapter.close(); } Dans les onResume et onRestart, je redémarre ma base de donnée mDbAdapter.open(); J'exécute mon activité secondaire (formulaires) par le biais d'un "startActivityForResult" dans l'activité principale. case R.id.MenuAddProfil : intent = new Intent(this,AjouterProfil.class); startActivityForResult(intent, AJOUTER_PROFIL); return true; Dans mon activité secondaire, si mon formulaire est correctement renseigné, je termine celui ci par la commande "finish()" if (valider == true){ Intent dataset = new Intent(); dataset.putExtra("profil", profil.getText().toString()); dataset.putExtra("marque", list_marque.getText().toString()); dataset.putExtra("modele", list_modele.getText().toString()); setResult(RESULT_OK,dataset); finish(); } Le problème est le suivant, lorsque j'active mon formulaire, mon activité principale passe dans l'état onPause puis onStop, donc ma base de donnée se "ferme" et mon formulaire s'ouvre. Lorsque je valide mon formulaire, mon activité principale récupère bien les données puis plante car ma base de donnée n'est pas "ouverte". Mon activité secondaire n'est pas passé dans l'état onStop ou onPause et mon activité principale n'est pas repassé par l'état onResume ou onRestart (étant donnée qu'elle est passé dans l'état onStop). J'ai raté un truc quelque part ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Puni Posté(e) 25 septembre 2010 Share Posté(e) 25 septembre 2010 Fermer la base de donnée dans le onDestroy suffit :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 26 septembre 2010 Share Posté(e) 26 septembre 2010 regarde l'ordre dans lequel s'exécutent onActivityResult onRestart et onResume Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.