Je voudrais passer une nouvelle valeur pour un entier d'une activité à une autre. c'est à dire.:
L'activité B contient un
integer[] pics = { R.drawable.1, R.drawable.2, R.drawable.3}
Je souhaite que l'activité A transmette une nouvelle valeur à l'activité B:
integer[] pics = { R.drawable.a, R.drawable.b, R.drawable.c}
Alors qu'en quelque sorte
private void startSwitcher() {
Intent myIntent = new Intent(A.this, B.class);
startActivity(myIntent);
}
Je peux définir cette valeur entière.
Je sais que cela peut être fait d'une manière ou d'une autre avec un ensemble, mais je ne sais pas comment je pourrais faire passer ces valeurs de l'activité A à l'activité B.
C'est simple. Côté expéditeur, utilisez Intent.putExtra
:
Intent myIntent = new Intent(A.this, B.class);
myIntent.putExtra("intVariableName", intValue);
startActivity(myIntent);
Côté récepteur, utilisez Intent.getIntExtra
:
Intent mIntent = getIntent();
int intValue = mIntent.getIntExtra("intVariableName", 0);
Ce sont deux méthodes que vous pouvez utiliser pour passer un entier. L'un est comme indiqué ci-dessous.
A.class
Intent myIntent = new Intent(A.this, B.class);
myIntent.putExtra("intVariableName", intValue);
startActivity(myIntent);
B.class
Intent intent = getIntent();
int intValue = intent.getIntExtra("intVariableName", 0);
L'autre méthode convertit l'entier en une chaîne et utilise le code suivant.
A.class
Intent intent = new Intent(A.this, B.class);
Bundle extras = new Bundle();
extras.putString("StringVariableName", intValue + "");
intent.putExtras(extras);
startActivity(intent);
Le code ci-dessus transmettra votre valeur entière sous forme de chaîne à la classe B. Sur la classe B, récupérez la valeur de chaîne et convertissez-la à nouveau sous forme d'entier, comme illustré ci-dessous.
B.class
Bundle extras = getIntent().getExtras();
String stringVariableName = extras.getString("StringVariableName");
int intVariableName = Integer.parseInt(stringVariableName);
Dans l'activité A
private void startSwitcher() {
int yourInt = 200;
Intent myIntent = new Intent(A.this, B.class);
intent.putExtra("yourIntName", yourInt);
startActivity(myIntent);
}
dans l'activité B
int score = getIntent().getIntExtra("yourIntName", 0);