如何将整数从一个活动传递到另一个活动?
Posted
技术标签:
【中文标题】如何将整数从一个活动传递到另一个活动?【英文标题】:How to pass integer from one Activity to another? 【发布时间】:2011-10-27 19:05:03 【问题描述】:我想将一个整数的新值从一个活动传递到另一个活动。 即:
活动 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。
【问题讨论】:
【参考方案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);
【讨论】:
以上是关于如何将整数从一个活动传递到另一个活动?的主要内容,如果未能解决你的问题,请参考以下文章