0

メソッドで 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"

どうすればこのタスクを完了することができますか? 前もって感謝します..

4

0 に答える 0