在使用AsyncTask时,如果ArrayList始终返回0,可能是由于以下几个原因引起的:
private class MyAsyncTask extends AsyncTask {
private ArrayList myArrayList;
public MyAsyncTask() {
myArrayList = new ArrayList<>();
}
@Override
protected Void doInBackground(Void... voids) {
// 在这里使用myArrayList
return null;
}
}
private class MyAsyncTask extends AsyncTask {
private ArrayList myArrayList;
public MyAsyncTask() {
myArrayList = new ArrayList<>();
}
@Override
protected Void doInBackground(Integer... params) {
int param = params[0];
// 在这里使用param和myArrayList
return null;
}
}
// 调用AsyncTask的execute方法,并传递参数
new MyAsyncTask().execute(1);
private class MyAsyncTask extends AsyncTask> {
private ArrayList myArrayList;
public MyAsyncTask() {
myArrayList = new ArrayList<>();
}
@Override
protected ArrayList doInBackground(Void... voids) {
// 在这里使用myArrayList
return myArrayList;
}
@Override
protected void onPostExecute(ArrayList result) {
// 在这里处理结果
}
}
通过检查你的代码,确保你正确初始化ArrayList、正确传递参数和正确返回结果,应该能够解决ArrayList始终返回0的问题。