В настоящее время у меня есть объект под названием AsyncObj, которому я назначаю 3 массива для последующей передачи в мою асинхронную задачу.В асинхронной задаче у меня есть конструктор, который назначает оба объекта и позднее использует их в методе doInBackground.
Проблема в том, что объект пуст внутри метода doInBackground, и я, похоже, не знаю, почему.Хотя, когда я проверяю размер массива в конструкции AsyncTask, все нормально.
MyObject:
public class AsyncObj {
ArrayList<Float> valuesX;
ArrayList<Float> valuesY;
ArrayList<Float> valuesZ;
public AsyncObj(ArrayList<Float> a, ArrayList<Float> b, ArrayList<Float> c) {
this.valuesX = a;
this.valuesY = b;
this.valuesZ = c;
}
}
Мой AsyncTask:
class SendHttp extends AsyncTask<Void,Void,Void> {
private AsyncObj asyncObj1;
SendHttp(AsyncObj asyncObj){
this.asyncObj1 = asyncObj;
Log.v("TAG","In constructor: "+asyncObj1.valuesX.size());
}
protected void onPreExecute() {
}
public Void doInBackground(Void...voids){
Log.v("TAG",""+asyncObj1.valuesX.size());
String url = createQuery(asyncObj1.valuesX,asyncObj1.valuesY,asyncObj1.valuesZ);
try{
final RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
StringRequest stringRequest = new StringRequest(
Request.Method.GET,
url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.v("TAG","Error");
}
}
);
requestQueue.add(stringRequest);
Log.v("TAG",url);
Log.v("TAG","In SendHTTP");
}catch (Exception e){
Log.v("TAG",e.getMessage());
}
return null;
}
}