我希望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);
答案 0 :(得分:3)
您真的不需要将String[]
声明为通用参数,而只需String
:
AsyncTask<String, Integer, String>
默认情况下, doInBackground(String... sUrl)
需要一个类型参数数组。
此外,...
称为varargs,它代表可选参数的数组。