2016-11-09 8 views

答えて

1

ArrayListの配列を渡す場合を除き、AsyncTask<ArrayList<String>,は必要ありません。 ...演算子は、varargsと呼ばれ、配列のようにアクセスできます。例えば。あなたはその後、

new CreateZipFile().execute("a", "b"); 

を呼び出す場合、

protected File doInBackground(String... files) { 

files[0]aが含まれているとfiles[1]bが含まれています。あなたがまだのArrayListを渡したい場合は、次のように、あなたはあなたのコードを変更する必要があります。

for (ArrayList<String> l : files) { 
     for(String file : l){ 
      //DO SMTH 
     } 
    } 
0

は、この方法でprotected File doInBackground(ArrayList<String>... files) {を変更しよう:

protected File doInBackground(ArrayList<String>... files) { 
     ArrayList<String> passedFiles = files[0]; //get passed arraylist 

     for(String file : passedFiles){ 
     //DO SMTH 
     } 
     return null; 
    } 
関連する問題