android - 如何在doInBackground中返回5个String数组?

时间:2015-03-02 15:49:16

标签: android android-asynctask

我想从doInBackground返回5个可以由postExecute使用的字符串数组。

我似乎无法找到答案。

感谢您的帮助:D

3 个答案:

答案 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);
         //...
    }
}