Как передать целое число из одного занятия в другое? - PullRequest
34 голосов
/ 16 августа 2011

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

Действие 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);
}

Я могу установить это целочисленное значение.

Я знаю, что это можно сделать как-то с помощью пакета, но я не уверен, как я мог бы передать эти значения из Действия A в Деятельность B.

Ответы [ 4 ]

109 голосов
/ 16 августа 2011

Все просто.На стороне отправителя используйте 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);
5 голосов
/ 28 августа 2016

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

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);
1 голос
/ 24 мая 2017

В Деятельности 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);
0 голосов
/ 01 апреля 2016

На стороне активности отправителя:

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

На стороне активности получателя:

int receiveValue = getIntent().getIntExtra("value", 0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...