Enchaîner des Activités ?
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 :
Code:
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"));
}
}
} |
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 ?
Voici le code de la première activé lancée par le Main en complément :
Code:
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();
}
};
} |
En espérant avoir été clair.
Merci d'avance pour votre aide.