AsyncTask无法使用数组(android)

时间:2013-05-21 14:35:18

标签: android android-asynctask

我希望AsyncTask下载我作为数组获得的多个文件。 使用此代码,AsyncTask仅工作一次并忽略数组的其余部分。

private class DownloadFiles extends AsyncTask<String[], Integer, String> {
         @Override
         protected String doInBackground(String[]... sUrl) {

             for (int p = 0; p < sUrl.length; p++) {
                 for (int i=0;i<sUrl[p].length;i++) {
                     getFileToDown(sUrl[p][i]);
                 }
             }

例如,我想发送多个数组:

   downloadFiles.execute(databasesArray,imagesArray,etc);

1 个答案:

答案 0 :(得分:3)

您真的不需要将String[]声明为通用参数,而只需String

AsyncTask<String, Integer, String>
默认情况下,

doInBackground(String... sUrl)需要一个类型参数数组。

此外,...称为varargs,它代表可选参数的数组。