无法使用Google distance Matrix API Android将距离变量传递给其他活动

无法使用Google distance Matrix API Android将距离变量传递给其他活动,android,google-distancematrix-api,Android,Google Distancematrix Api,我已经尝试了一整天,但可以找到一个解决办法。我正在开发一个测试谷歌地图应用程序来学习java。 从这个活动中,当单击按钮时,它会将用户带到另一个活动,我需要将一些值传递到下一个活动。 我能够在下一个活动中检索到起始地址和目标地址,但不能检索到距离 implements GeoTask.Geo { private TextView mFromAddress; private TextView mToAddress; String str_from,str_to; int dist; public

我已经尝试了一整天,但可以找到一个解决办法。我正在开发一个测试谷歌地图应用程序来学习java。 从这个活动中,当单击按钮时,它会将用户带到另一个活动,我需要将一些值传递到下一个活动。 我能够在下一个活动中检索到起始地址和目标地址,但不能检索到距离

implements GeoTask.Geo {
private TextView mFromAddress;
private TextView mToAddress;
String str_from,str_to;
int dist;

public void onClickBtn(View v){
    str_from = mFromAddress.getText().toString();
    str_to = mToAddress.getText().toString();
    String url = "https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=" + str_from + "&destinations=" + str_to + "&mode=driving&language=en-US&avoid=tolls&key=API-Key";
    new GeoTask(MapsActivity.this).execute(url);

    getResults();
}

// This is called from external class GeoTask.Java
public void setDouble(String result) {
    String res[]=result.split(",");
    Double min = Double.parseDouble(res[0])/60;
    dist = Integer.parseInt(res[1])/1000;
}

public void getResults(){
    Intent intent = new Intent(this, ResultsActivity.class);

    String fromCity = str_from;
    String toCity = str_to;
    int kmDistance = dist;

    intent.putExtra("from",fromCity);
    intent.putExtra("to",toCity);
    intent.putExtra("distance",kmDistance);

    startActivity(intent);
}
}
我正在检索这些详细信息

Intent intent = getIntent();
String fromCity = intent.getStringExtra("from");
String toCity = intent.getStringExtra("to");
int kmDistance = intent.getIntExtra("distance", 0);

为什么你没有距离

implements GeoTask.Geo {
private TextView mFromAddress;
private TextView mToAddress;
String str_from,str_to;
int dist;

public void onClickBtn(View v){
    str_from = mFromAddress.getText().toString();
    str_to = mToAddress.getText().toString();
    String url = "https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=" + str_from + "&destinations=" + str_to + "&mode=driving&language=en-US&avoid=tolls&key=API-Key";
    new GeoTask(MapsActivity.this).execute(url);

    getResults();
}

// This is called from external class GeoTask.Java
public void setDouble(String result) {
    String res[]=result.split(",");
    Double min = Double.parseDouble(res[0])/60;
    dist = Integer.parseInt(res[1])/1000;
}

public void getResults(){
    Intent intent = new Intent(this, ResultsActivity.class);

    String fromCity = str_from;
    String toCity = str_to;
    int kmDistance = dist;

    intent.putExtra("from",fromCity);
    intent.putExtra("to",toCity);
    intent.putExtra("distance",kmDistance);

    startActivity(intent);
}
}
调用
getResults()时,
AsyncTask
可能尚未完成


尝试删除
getResults()新地理任务(mapsacativity.this).execute(url)后的code>
并放入
getResults()onPostExecute(args)

中的code>,因此
dist
在发送到
ResultsActivity
之前具有正确的值?当你试图取回它时,它就是不正确?