[英]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.