Bonjour, je passe des parametres entre 2 activités Activity1 et Activity2.
Dans Activity1 j'appelle l'activity2
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 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); }
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
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(); } } } }
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.
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"); }
Partager