Подтвердить что ты не робот

Как передать целое число из одного действия в другое?

Я хотел бы передать новое значение для целого из одного действия в другое. то есть:.

Активность B содержит

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.

4b9b3361

Ответ 1

Это просто. На стороне отправителя используйте Intent.putExtra:

Intent myIntent = new Intent(A.this, B.class);
myIntent.putExtra("intVariableName", intValue);
startActivity(myIntent);

На стороне получателя используйте Intent.getIntExtra:

 Intent mIntent = getIntent();
 int intValue = mIntent.getIntExtra("intVariableName", 0);

Ответ 2

Это два метода, которые вы можете использовать для передачи целого числа. Один из них показан ниже.

класс 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);

Другой метод преобразует целое число в строку и использует следующий код.

класс A.class

Intent intent = new Intent(A.this, B.class);
Bundle extras = new Bundle();
extras.putString("StringVariableName", intValue + "");
intent.putExtras(extras);
startActivity(intent);

Приведенный выше код передаст ваше целочисленное значение в виде строки в класс B. В классе B получите строковое значение и снова преобразуйте его как целое число, как показано ниже.

B.class

   Bundle extras = getIntent().getExtras();
   String stringVariableName = extras.getString("StringVariableName");
   int intVariableName = Integer.parseInt(stringVariableName);

Ответ 3

В действии A

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);

Ответ 4

В поле "Сфера отправителя":

Intent passIntent = new Intent(getApplicationContext(), "ActivityName".class);
passIntent.putExtra("value", integerValue);
startActivity(passIntent);

В поле действия получателя:

int receiveValue = getIntent().getIntExtra("value", 0);