メソッドで Bundle を返す AsyncTask クラスがありdoInBackground
ます。このバンドルには文字列と整数が含まれています。私は次のようにします:
protected Bundle doInBackground(Void... b) {
Bundle info = new Bundle();
info.putString("km", distanceInKm);
info.putInt("time", totalTime);
return info;
}
したがって、私の onPostExecute では、これらを必要とする新しいアクティビティを開始するために、この 2 つの変数を取得する必要があります。
だからここに私のコードがあります:
protected void onPostExecute(Bundle extraInfo) {
String km;
int time;
km = extraInfo.getString("km");
time = extraInfo.getInt("time");
}
コードをデバッグし、doInBackground
メソッドから戻る場所にブレークポイントを配置すると、バンドルinfo
には次のような正しい情報が含まれます。
Bundle[{time=20, km=15.6 }]
しかし、onPostExecute
メソッドで情報を取得しようとすると、値は次のようになります。"time" or "km"
どうすればこのタスクを完了することができますか? 前もって感謝します..