如何将整数从一个Activity传递给另一个Activity?

时间:2011-08-16 05:52:31

标签: android integer bundle

我想将一个整数的新值从一个Activity传递给另一个Activity。 即:

活动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 个答案:

答案 0 :(得分:107)

这很简单。在发件人方面,使用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);

答案 1 :(得分:5)

它们有两种方法可用于传递整数。一个如下所示。

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

答案 2 :(得分:1)

在活动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);

答案 3 :(得分:-2)

在发件人活动方面:

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

在接收者活动方:

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