Как передать целое число из одного действия в другое?
Я хотел бы передать новое значение для целого из одного действия в другое. то есть:
Активность В содержит
integer[] pics = { R.drawable.1, R.drawable.2, R.drawable.3}
Я хотел бы, чтобы активность A передала новое значение активности B:
integer[] pics = { R.drawable.a, R.drawable.b, R.drawable.c}
Чтобы так или иначе
private void startSwitcher() { Intent myIntent = new Intent(A.this, B.class); startActivity(myIntent); }
Я могу установить это целочисленное значение.
Я знаю, что это может быть сделано каким-то образом с помощью пакета, но я не уверен, как получить эти значения от Activity A до Activity B.
Это просто:
Сторона отправителя:
Intent myIntent = new Intent(A.this, B.class); myIntent.putExtra("intVariableName", intValue); startActivity(myIntent);
Сторона приемника:
Intent mIntent = getIntent(); int intValue = mIntent.getIntExtra("intVariableName", 0);
Это два метода, которые вы можете использовать для передачи целого числа. Один из них показан ниже.
Класс
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);
Другой метод преобразует целое число в строку и использует следующий код.
Класс
Intent intent = new Intent(A.this, B.class); Bundle extras = new Bundle(); extras.putString("StringVariableName", intValue + ""); intent.putExtras(extras); startActivity(intent);
Приведенный выше код передаст ваше целочисленное значение как строку в class B. В classе B получите строковое значение и снова преобразуйте его в виде целого числа, как показано ниже.
B.class
Bundle extras = getIntent().getExtras(); String stringVariableName = extras.getString("StringVariableName"); int intVariableName = Integer.parseInt(stringVariableName);
В действии А
private void startSwitcher() { int yourInt = 200; Intent myIntent = new Intent(A.this, B.class); intent.putExtra("yourIntName", yourInt); startActivity(myIntent); }
в деятельности B
int score = getIntent().getIntExtra("yourIntName", 0);
В поле Действия отправителя:
Intent passIntent = new Intent(getApplicationContext(), "ActivityName".class); passIntent.putExtra("value", integerValue); startActivity(passIntent);
В поле действия получателя:
int receiveValue = getIntent().getIntExtra("value", 0);