我有一个AsyncTask类,它将在我的doInBackground
方法中返回一个Bundle。这个包包含一个String和一个Integer,我这样做:
protected Bundle doInBackground(Void... b) {
Bundle info = new Bundle();
info.putString("km", distanceInKm);
info.putInt("time", totalTime);
return info;
}
所以在我的onPostExecute中,我必须得到这两个变量才能启动需要这些变量的新活动。
所以这里是我的代码:
protected void onPostExecute(Bundle extraInfo) {
String km;
int time;
km = extraInfo.getString("km");
time = extraInfo.getInt("time");
}
当我调试代码并在我从doInBackground
方法返回时放置断点时,Bundle info
确实包含正确的信息,如下所示:
Bundle[{time=20, km=15.6 }]
但是当我尝试在onPostExecute
方法中检索信息时,该值仅为:"time" or "km"
如何设法完成此任务?提前谢谢..