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

在Android Java中将双精度值传递给不同的类,android,android-intent,double,Android,Android Intent,Double,我只是想知道有什么方法可以将两个或多个双值从classA传递到ClassB 目前,我已经找到了提供此方法的代码: 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().getDoubl

我只是想知道有什么方法可以将两个或多个双值从classA传递到ClassB

目前,我已经找到了提供此方法的代码:

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); 
这不会传递值,我也找不到检索这些值的方法

这里的另一个问题建议了创建类实例的方法,但是我尝试了一下,我似乎无法正确地传递这些值


我正在为Android编程,所以我不知道方法是否会有所不同

这几乎是在活动之间发送信息的正确技术。您需要像这样使用putDouble()方法:

i.putDouble("value1", a);
i.putDouble("value2", b);
public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main2);
     Intent intent=getIntent();
     double a=intent.getExtras().getDouble("value1");
     double b=intent.getExtras().getDouble("value2");
为了访问这些值,您需要将它们从接收活动端的Extras映射中拉出,如下所示:

i.putDouble("value1", a);
i.putDouble("value2", b);
public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main2);
     Intent intent=getIntent();
     double a=intent.getExtras().getDouble("value1");
     double b=intent.getExtras().getDouble("value2");
您需要使用:

i.putExtra("number1", number1);
i.putExtra("number2", number1);

实际上,您并没有将双打放入您的
意图中

Intent yourInent = new Intent(thisActivity.this, nextActivity.class);
Bundle b = new Bundle();
b.putDouble("key", doubleVal);
yourIntent.putExtras(b);
startActivity(yourIntent);
然后,在下一个活动中获得:

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

你可以这样试试

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;
// Get Params from intent
Intent it = getIntent();        
if (it != null)
{
    Bundle params = it.getExtras();
    if  (params != null)
    {
         a = params.getDouble("doubleA");
         b = params.getDouble("doubleB");               
     }
}

在Kotlin中

发送活动

        val returnIntent = Intent()
        returnIntent.putExtra(KeyConstants.LATITUDE, latitude);
        returnIntent.putExtra(KeyConstants.LONGITUDE, longitude)
        setResult(Activity.RESULT_OK, returnIntent);
接收活动

 val latitude = intent?.getDoubleExtra(KeyConstants.LATITUDE, 0.0)
 val longitude = intent?.getDoubleExtra(KeyConstants.LONGITUDE, 0.0)

非常感谢。这真的很有帮助。我认为实际使用这些值会有问题,但我只是不知道需要使用什么代码才能使用。如果我想传递一个int或float,或者像Chang.putDouble到.putIntegerThank这样简单,有什么不同的代码吗。这真的很有帮助。我认为实际使用这些值会有问题,但我只是不知道需要使用什么代码才能使用。如果我想通过.Np传递float或int,会有很大的不同吗。您将以相同的方式传递浮点或int。的Dev Docs应该可以帮助您。我似乎在获取另一端的值时遇到问题。当我将代码放入eclipse时,显示“Bundle b=getIntent().getExtras();”中有一个错误说“那个”是必要的,尽管那个已经很奇怪了。确保它在您的onCreate中。重新构建您的项目,并确保没有任何分号或任何浮动。另外,如果答案对你有帮助,别忘了标记。