我想从doInBackground返回5个可以由postExecute使用的字符串数组。
我似乎无法找到答案。
感谢您的帮助:D
答案 0 :(得分:2)
你可以这样做
public class AASync extends AsyncTask<String[], Void, ArrayList<String[]>> {
private ArrayList<String[]> list = new ArrayList<>();
@Override
protected ArrayList<String[]> doInBackground(String[]... params) {
for(int i=0; i<params.length;i++){
list.add(params[i]);
}
return list;
}
@Override
protected void onPostExecute(ArrayList<String[]> strings) {
super.onPostExecute(strings);
list = strings;
}
}
希望它有所帮助!!!
答案 1 :(得分:0)
你可以在List中简单地包装你想要的东西 并且您还可以扩展AsyncTask并创建与您一样多的属性
答案 2 :(得分:0)
class SomeTask extends AsyncTask<Void, Void, ArrayList<String[]>> {
private ArrayList<String[]> someArrayString= new ArrayList<String[]>();
@Override
protected ArrayList<String[]> doInBackground(Void... params) {
for(int i = 0; i < 5; i++)
someArrayString.add(new String[]{String.valueOf(i)});
return someArrayString;
}
@Override
protected void onPostExecute(ArrayList<String[]> params){
super.onPostExecute(params);
//...
}
}