Comment passer un entier d'une activité à une autre?
je voudrais passer une nouvelle valeur pour un entier d'une activité à une autre. i.e.:
L'activité B contient un
integer[] pics = { R.drawable.1, R.drawable.2, R.drawable.3}
je voudrais que l'activité A passe une nouvelle valeur à l'activité B:
integer[] pics = { R.drawable.a, R.drawable.b, R.drawable.c}
de Sorte qu'en quelque sorte, par le biais de
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 façon ou d'une autre avec un paquet, mais je ne suis pas sûr comment je pourrais faire passer ces valeurs de L'activité A à L'activité B.
4 réponses
c'est simple:
Côté De L'Expéditeur:
Intent myIntent = new Intent(A.this, B.class);
myIntent.putExtra("intVariableName", intValue);
startActivity(myIntent);
Côté Du Récepteur:
Intent mIntent = getIntent();
int intValue = mIntent.getIntExtra("intVariableName", 0);
il y a deux méthodes que vous pouvez utiliser pour passer un entier. L'un est illustré 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 le nombre entier en 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 passera votre valeur entière en tant que chaîne de caractères à la classe B. sur la Classe B, obtenez la valeur de chaîne de caractères et convertissez à nouveau en tant qu'entier comme indiqué 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);
Dans De L'Expéditeur De L'Activité De Côté:
Intent passIntent = new Intent(getApplicationContext(), "ActivityName".class);
passIntent.putExtra("value", integerValue);
startActivity(passIntent);
Récepteur De L'Activité De Côté:
int receiveValue = getIntent().getIntExtra("value", 0);