1
私は一日中この作業を試しましたが、解決策を見つけることができました。私は、Javaを学ぶためにテスト用のGoogleマップアプリを開発中です。 このアクティビティから、ボタンをクリックすると、別のアクティビティに移動し、次のアクティビティに渡すために値が必要になります。 次のアクティビティでは開始アドレスと宛先アドレスを取得できますが、距離は取得できません。Google Distance Matrix APIを使用して距離変数を別のアクティビティに渡すことができません。Android
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);
に
getResults();
を配置しようとするとgetResults();
を呼び出すと、だから、 'dist'が正しい値を有しているかもしれない
AsyncTask
がまだまだ行われていないResultsActivityに?それを取得しようとするとちょうど間違っていますか? – Barns