2014-04-08 48 views
0

比方說,我有一個簽名類似的AsyncTask是否可以將ArrayList轉換爲一堆AsyncTask參數?

AsyncTask<String, Void, Void> 

而且我想通過String變量給它,加上一些ArrayList<String>讓我執行此的AsyncTask這樣的元素了一把:

new SomeTask().execute(one, two, three, x0, x1, xn); // where x0 through xn are the elements from some ArrayList. 

我當然可以創建SomeTask一個構造函數,將採取一個ArrayList並將其分配給一個成員變量,然後通過字符串變量的execute的方法,但我不知道是否有什麼更好。

回答

0

是的,一堆參數是一個簡單的String []數組。所以做只是這

//list is your ArrayList 
String [] stringArray = list.toArray(new String[list.size()]); 
new SomeTask().execute(stringArray); 
+0

但簽名我'AsyncTask'說:'的AsyncTask <字符串,太虛,太虛>',將它仍然讓我傳遞'的String []'? –

+0

是的,它會讓你!因爲Asynctask聲明中的第一個參數只是給出了對象的類型,但inbackground可以獲得該類型的數組 –

+0

@fremmedehenvendelse它是否工作? –

相關問題