new DownloadFilesTask().execute(myPrefs.getString("IP", ""), null, null);
我从dobackground方法返回一个Arraylist。如何把它放到我的arraylist中?
Arraylist al=null;
al=new DownloadFilesTask().execute(myPrefs.getString("IP", ""), null, null);
不能正常工作。
答案 0 :(得分:1)
我从dobackground方法返回一个Arraylist。如何把它放到我的arraylist中?
在返回之前,将ArrayList
方法中的本地doInBackground()
分配给您的全局ArrayList
。
示例代码:
@Override
protected ArrayList doInBackground(...) {
ArrayList localArrayList = new ArrayList();
// Other stuff you might have.
// ...
return mYourGlobalArrayList = localArrayList;
}
答案 1 :(得分:1)
在你的代码中尝试这样的
//After Preexecute...
@Override
protected ArrayList doInBackground(...) {
ArrayList localArrayList = new ArrayList();
// Other stuff you might have.
// ...
return localArrayList;
}
@Override
protected void onPostExecute(Object result) {
// TODO Auto-generated method stub
if(result!= null)
{
ArrayList<String> category = new ArrayList<String>();
category = (ArrayList<String>) result;
}
}
}
然后你可以在后执行
中将这个arraylist分配给你的arraylist答案 2 :(得分:0)
new AsyncTask<String, Void, ArrayList<String>>() {
@Override
protected ArrayList<String> doInBackground(String... params) {
//result = do some work
ArrayList localArrayList = new ArrayList();
// localArrayList = get from your website or from database
// assign arraylist globally
return result;
}
}.execute("");
答案 3 :(得分:0)
从doInBackground方法返回它,并在onPostExecute方法中绑定它。
在onPostExecute方法中,您可以获取doInBackground的返回值作为参数值