如何将整数从一个活动传递到另一个活动?

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

【讨论】:

以上是关于如何将整数从一个活动传递到另一个活动?的主要内容,如果未能解决你的问题,请参考以下文章

我如何将数据从一个活动传递到另一个活动

如何将 LatLng 的数组列表从一个活动传递到另一个活动

如何将不可打包的对象从活动传递到另一个活动?

如何将 ArrayList<Custom Object> 从一个活动传递到另一个活动? [复制]

将列表从一个活动传递到另一个活动

如何将值从一个活动中的片段传递到另一个活动? [复制]