繁体   English   中英

在android活动之间传递数据

[英]passing data between android activities

我试图在我的android应用程序中的两个活动之间传递数据,但是当我尝试运行发送数据的on click方法时,应用程序崩溃了。

这是活动的代码,可以计算出我的计算尝试将其发送到另一个名为result的活动。 我尝试发送的变量输出是double。

Intent myIntent = new Intent(BMIMetric.this, result.class);
BMIMetric.this.startActivity(myIntent);
myIntent.putExtra("key", output);

然后在结果页面上,我尝试使用此代码获取变量

Intent myIntent = getIntent();
double output = (Double) getIntent().getExtras().get("Key");

首先,您有订单问题(已编辑代码):

Intent myIntent = new Intent(BMIMetric.this, result.class);
myIntent.putExtra("key", output);
BMIMetric.this.startActivity(myIntent);

您需要先设置额外功能,然后才能开始新的活动。

然后在您的其他活动中执行以下操作:

Intent myIntent = getIntent();
double output = getDoubleExtra ("key", -1.0);

getDoubleExtra()似乎更合适,因为您要分配给原始数据类型。

而且,正如Blumer所述, "key"的拼写有所不同。 您需要相同的拼写密钥,这就是它的工作原理。 否则,您将提及其他内容,但找不到。

作为使用getExtras()的补充-如果使用getExtras().get()而未找到密钥,则返回null 尽管Double如今可以自动装箱/取消装箱,但如果您这样做,

Double doubleObject = null;
double d = doubleObject;

您仍然会收到NullPointerException

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM