Aller au contenu

Soucis avec la commande finish pour fermer une activité.


zhym

Recommended Posts

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

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...