Bonjour à tous,
J'ai voulu me simplifier la vie mais je me demande si je suis pas allé complètement à l'encontre des process d'Android en faisant ça :
Bon en gros je crée une activité qui n'affiche rien mais qui lance plusieurs autres activités les une à la suite des autres afin de pouvoir centraliser dans cette main Activity toutes les infos dont j'ai besoin pour faire tourner mon jeu (lequel fonctionne déjà). Pour l'instant ça ne fonctionne pas du tout, alors ma question est, puis-je continuer dans cette voie ou est-il préférable de rester sur les activités qui s'enchainent ?
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
36
37
38
39
40
41 package fr.test.agentsecret; import android.os.Bundle; import android.app.Activity; import android.content.Intent; public class MainActivity extends Activity { GameRule.Mode modeJeuEnum = null; GameRule.Type typeJeuEnum = null; Player P1 = null; Player P2 = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent modeJeuIntent = new Intent (this,ModeJeuActivity.class); startActivityForResult(modeJeuIntent, 0); Intent typeJeuIntent = new Intent (getBaseContext(),TypeJeuActivity.class); startActivityForResult(typeJeuIntent, 1); Player P1 = new Player(typeJeuEnum); Player P2 = new Player(typeJeuEnum); } @Override protected void onActivityResult (int requestCode, int resultCode, Intent data) { if (requestCode == 0){ modeJeuEnum = GameRule.Mode.valueOf(data.getStringExtra("modeJeu")); } if (requestCode ==1){ typeJeuEnum = GameRule.Type.valueOf(data.getStringExtra("typeJeu")); P1.setName(data.getStringExtra("playerOneName")); P2.setName(data.getStringExtra("playerTwoName")); } } }
Voici le code de la première activé lancée par le Main en complément :
En espérant avoir été clair.
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 package fr.test.agentsecret; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.RadioGroup; public class ModeJeuActivity extends Activity { //déclarer les layouts RadioGroup modeJeuRadioGroup = null; Button validerModeButton = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //Affiche le premier ecran setContentView(R.layout.activity_main); //initialiser les layouts modeJeuRadioGroup = (RadioGroup)findViewById(R.id.radioMode); validerModeButton = (Button)findViewById(R.id.boutonValiderMod); validerModeButton.setOnClickListener(ValiderModeListener); } //Initialisation des actions a executer en cas de click sur le // bouton valider. private OnClickListener ValiderModeListener = new OnClickListener() { @Override public void onClick(View v) { GameRule.Mode modeJeuEnum = null; if(modeJeuRadioGroup.getCheckedRadioButtonId() == R.id.radioJVJ){ modeJeuEnum = GameRule.Mode.JVJ; } else{ modeJeuEnum = GameRule.Mode.JVC; } //On envoie dans un intent la valeur Enum correspondant au //bouton checked. Intent modeJeuIntent = new Intent (); modeJeuIntent.putExtra("modeJeu", modeJeuEnum.toString()); setResult(RESULT_OK,modeJeuIntent); finish(); } }; }
Merci d'avance pour votre aide.
Partager