我想将一个整数的新值从一个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.
答案 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);