在Android Java中将一个双精度值传递给不同的类

7 浏览
0 Comments

在Android Java中将一个双精度值传递给不同的类

我只是想知道有什么方法可以将两个或多个双精度值从ClassA传递给ClassB。目前我找到了以下代码:\n

double a, b;
double a = 2.456;
double b = 764.2353;
Intent i = new Intent();
i.setClassName("com.b00348312.application","com.b00348312.application.ClassB");
double number = getIntent().getDoubleExtra("value1", a);
double number = getIntent().getDoubleExtra("value2", b);
startActivity(i); 

\n这段代码不能传递数值,我也找不到检索这些数值的方法。\n这里的另一个问题建议创建类的实例,但尝试后我似乎无法正确传递数值。\n我正在为Android编程,所以不知道方法是否会有所不同。

0
0 Comments

在Android Java中,将double值传递给不同类的问题可能涉及到Intent和Bundle的使用。问题的原因可能是在发送活动中,没有正确地将double值附加到Intent对象中。解决方法是使用putExtra()方法将double值添加到Intent对象,并使用Activity类的setResult()方法将Intent对象设置为结果。在接收活动中,可以使用getDoubleExtra()方法从Intent中获取double值。

代码示例:

在发送活动中:

double latitude = 37.7749;
double longitude = -122.4194;
Intent returnIntent = new Intent();
returnIntent.putExtra(KeyConstants.LATITUDE, latitude);
returnIntent.putExtra(KeyConstants.LONGITUDE, longitude);
setResult(Activity.RESULT_OK, returnIntent);

在接收活动中:

double latitude = getIntent().getDoubleExtra(KeyConstants.LATITUDE, 0.0);
double longitude = getIntent().getDoubleExtra(KeyConstants.LONGITUDE, 0.0);

这样,接收活动将能够正确地从发送活动中获取double值。

在Android Java中,将double值传递给不同类的问题可以通过正确地使用Intent和Bundle来解决。发送活动应该使用putExtra()方法将double值添加到Intent对象,并使用setResult()方法将Intent对象设置为结果。接收活动应该使用getDoubleExtra()方法从Intent中获取double值。

0
0 Comments

问题的出现原因是需要在两个不同的类之间传递一个double值。解决方法是使用Intent和Bundle来传递double值。

在第一个类中,我们首先创建一个Intent对象,指定目标类为classB.class。然后创建一个Bundle对象,将double值放入Bundle中,并将Bundle对象放入Intent中。最后通过startActivity方法启动目标类。

在第二个类中,我们首先获取传递过来的Intent对象。然后通过getExtras方法获取Bundle对象,并通过getDouble方法获取传递过来的double值。

通过这种方式,我们可以在不同的类之间传递double值。

以下是完整的代码示例:

第一个类:

double a, b;
Intent i = new Intent(classA.this, classB.class);
Bundle params = new Bundle();
params.putDouble("doubleA", a);
params.putDouble("doubleB", b);
i.putExtras(params);
startActivity(i);

第二个类:

double a, b;
// 获取传递过来的参数
Intent it = getIntent();        
if (it != null)
{
    Bundle params = it.getExtras();
    if  (params != null)
    {
         a = params.getDouble("doubleA");
         b = params.getDouble("doubleB");               
     }
}

0
0 Comments

问题的原因是代码中没有将double值放入Intent中,导致在下一个Activity中无法获取该值。解决方法是使用Bundle将double值放入Intent中,并在下一个Activity中获取该值。

具体的操作步骤如下:

1. 在当前Activity中创建一个Intent对象:

Intent yourIntent = new Intent(thisActivity.this, nextActivity.class);

2. 创建一个Bundle对象,并将double值放入Bundle中:

Bundle b = new Bundle();
b.putDouble("key", doubleVal);

3. 将Bundle对象放入Intent中:

yourIntent.putExtras(b);

4. 启动下一个Activity:

startActivity(yourIntent);

5. 在下一个Activity中获取double值:

Bundle b = getIntent().getExtras();
double result = b.getDouble("key");

如果需要传递int或float类型的值,只需将.putDouble更改为.putInteger或.putFloat,并在下一个Activity中使用相应的方法获取值。

如果在获取值时遇到问题,可以将代码放在onCreate方法中,并重新构建项目。确保代码中没有多余的分号或其他错误。如果有答案帮助到你,请记得给出标记。

注意:在Stack Overflow网站上,标记答案的方式是点击答案下方的复选标记,而不是投票。

0