我们假设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并将其分配给一个成员变量,然后将String变量传递给execute
方法,但我不知道是否有某些东西更好。
答案 0 :(得分:0)
是的,一堆参数是一个简单的String []数组。这样做吧
//list is your ArrayList
String [] stringArray = list.toArray(new String[list.size()]);
new SomeTask().execute(stringArray );