[У меня есть пользовательский parcelable объект Vehicle]AsyncTask передавая пользовательские объекты
Я смотрел на AsyncTask, но это не было слишком ясно, по этой теме:
Я хотел бы передать строку (которая Транспортное средство ID автомобиля) в AsyncTask, то в doInBackground() у меня есть метод
mRemoteInterface.getTrackHistory();
, который дает мне ArrayList. Я бы хотел, чтобы в onPostExecute() запустили действие, в котором идентификаторы Vehicle ID и ArrayList являются дополнительными.
Это схема того, что я не смогу сделать. Проблема в том, что я не понимаю, как передать объекты INTO в asynctask, а затем из doInBackground() в onPostExecute() и из onPostExecute() обратно в исходный вызов выполнения.
getTrackHistory.execute (ЧТО ДОЛЖНО ЗДЕСЬ?);
private class getTrackHistory extends
AsyncTask<String, Integer, Boolean **WHAT SHOULD GO HERE?**> {
@Override
protected Boolean doInBackground(
String... params) {
try {
String vehicleID = params[0];
listVehicleHistory = (ArrayList<Vehicle>) mRemoteInterface.getVehicleHistory(vehicleID);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected void onProgressUpdate(Integer... progress) {
}
@Override
protected void onPostExecute(Boolean worked) {
super.onPostExecute(worked);
Intent intent = new Intent(MainActivity.this,VehicleInfo.class);
intent.putExtra("Vehicle ID", toReturn);
intent.putParcelableArrayListExtra("VehicleHistory", listVehicleHistory);
startActivity(intent);
}
}
Просто создайте конструктор для задачи async. его намного проще, чем atte, pting передать детали в качестве параметров. – r2DoesInc
можете ли вы объяснить это немного больше? – benzabill