android studio - Démarrer une activité avec un paramètre




2 Answers

Mettez un int qui est votre identifiant dans la nouvelle Intent .

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
Bundle b = new Bundle();
b.putInt("key", 1); //Your id
intent.putExtras(b); //Put your id to your next Intent
startActivity(intent);
finish();

Ensuite, prenez l'identifiant dans votre nouvelle Activity :

Bundle b = getIntent().getExtras();
int value = -1; // or other values
if(b != null)
    value = b.getInt("key");
(french edition)

Je suis très nouveau sur le développement Android.

Je veux créer et démarrer une activité pour afficher des informations sur un jeu. Je montre cette information j'ai besoin d'un gameId.

Comment puis-je transmettre cet ID de jeu à l'activité? L'ID du jeu est absolument nécessaire, donc je ne veux pas créer ou démarrer l'activité si elle n'a pas l'ID.

C'est comme si l'activité n'avait qu'un seul constructeur avec un paramètre.

Comment puis je faire ça?

Merci.




J'aime le faire avec une méthode statique dans la deuxième activité:

private static final String EXTRA_GAME_ID = "your.package.gameId";

public static void start(Context context, String gameId) {
    Intent intent = new Intent(context, SecondActivity.class);
    intent.putExtra(EXTRA_GAME_ID, gameId);
    context.startActivity(intent);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    ... 
    Intent intent = this.getIntent();
    String gameId = intent.getStringExtra(EXTRA_GAME_ID);
}

Ensuite, à partir de votre première activité (et pour n'importe où ailleurs), vous faites juste:

SecondActivity.start(this, "the.game.id");



Related