IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

passage de parametre entre activite 1 et Activite 2. activite 1 ne s'affiche pas au retour


Sujet :

Android

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Par défaut passage de parametre entre activite 1 et Activite 2. activite 1 ne s'affiche pas au retour
    Bonjour, je passe des parametres entre 2 activités Activity1 et Activity2.

    Dans Activity1 j'appelle l'activity2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        public void saisirCombattant(View v) {
            Intent i1 = new Intent(Activity8.this, Activity9.class);
            Bundle bundle = new Bundle();
            bundle.putParcelableArrayList("listeCombattant", (ArrayList<? extends Parcelable>) listeCombattant);
            if (listCombattantEnDuel.size() == 1) {
                listCombattantEnDuel.get(0).setVie(listCombattantEnDuel.get(0).getVie()+recuperation);
            }
            bundle.putParcelableArrayList("listCombattantEnDuel", (ArrayList<? extends Parcelable>) listCombattantEnDuel);
            i1.putExtras(bundle);
            //i1.putExtra(EXTRA_MESSAGE, msg_text_widget.getText().toString());
            startActivityForResult(i1, 0);
        }
    Dans Activity2, je retourne mes listes modifiées
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
        public void ajouterCombattant(View v) {
            EditText name = (EditText)this.findViewById(R.id.name);
            EditText classeArmure = (EditText)this.findViewById(R.id.classeArmure);
            if (name.getText() != null && !name.getText().toString().equals("") && classeArmure.getText() != null && !classeArmure.getText().toString().equals("")) {
                Personnage personnage = new Personnage(name.getText().toString(), Integer.valueOf(classeArmure.getText().toString()));
                if (listeCombattant.contains(personnage)) {
                    AlertDialog.Builder builder1 = new AlertDialog.Builder(Activity9.this);
                    builder1.setMessage("Write your message here.");
                    builder1.setCancelable(true);
    
                    builder1.setPositiveButton(
                            "Fermer",
                            new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog, int id) {
                                    dialog.cancel();
                                }
                            });
                    AlertDialog alert11 = builder1.create();
                    alert11.show();
                } else {
                    listCombattantEnDuel.add(personnage);
                    listeCombattant.add(personnage);
                    if (listCombattantEnDuel.size() > 1) {
                        Intent i1 = new Intent(this, Activity8.class);
                        Bundle bundle = new Bundle();
                        bundle.putParcelableArrayList("listCombattantEnDuel", (ArrayList<? extends Parcelable>) listCombattantEnDuel);
                        bundle.putParcelableArrayList("listeCombattant", (ArrayList<? extends Parcelable>) listeCombattant);
                        i1.putExtras(bundle);
                        setResult(-1,i1);
                        finish();
                    }
                }
            }
        }
    Et dans activity1, je recois le résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
        @Override
        public void onActivityResult(int reqCode,int res,final Intent data){
            Log.i(APP_TAG,"Activity8 onActivityResult(): début");
            setContentView(R.layout.activity_8);
            super.onActivityResult(reqCode,res,data);
            if (RESULT_OK == res){
                if (0 == reqCode){
                    Bundle bundle = data.getExtras();
                    listeCombattant = bundle.getParcelableArrayList("listeCombattant");
                    listCombattantEnDuel = bundle.getParcelableArrayList("listCombattantEnDuel");
                    lancerJeu();
                }
            }
            Log.i(APP_TAG,"Activity8 onActivityResult(): fin");
        }
    Le probléme est que mon écran de Activity1 ne s'affiche pas : j'ai un écran noir. Merci d'avance pour vos réponses.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 23
    Par défaut
    Bonsoir,

    Dans ton onActivityResult, tu fais appel à la fonction setContentView. Normalement, c'est plutôt dans la création de ton activité qu'il faut le faire, dans la callback onCreate(). De plus, je ne crois pas que tu sois obligé de faire appel à super.onActivityResult
    Après tu donnes -1 comme retour dans Activity2 (setResult(-1,i1) et tu testes 0 dans ta fonction onActivityResult... Tu ne peux pas lancer le jeu.

    A+.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/06/2006, 21h45
  2. Passage de parametre entre deux formulaires
    Par Rcanada dans le forum Access
    Réponses: 3
    Dernier message: 28/04/2006, 11h05
  3. [C#] Passage de paramètre entre forms
    Par farfadet dans le forum ASP.NET
    Réponses: 2
    Dernier message: 13/02/2006, 14h36
  4. passage de parametre entre deux page asp
    Par tomtom25 dans le forum ASP
    Réponses: 4
    Dernier message: 01/04/2005, 16h16
  5. sql dynamic : passage de parametre entre quotes
    Par de LANFRANCHI dans le forum SQL
    Réponses: 12
    Dernier message: 26/05/2004, 15h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo