[英]Asyc Task return Arraylist retrieve it?
new DownloadFilesTask().execute(myPrefs.getString("IP", ""), null, null);
I returns an Arraylist from the dobackground method..how to put it into my arraylist?我从 dobackground 方法返回 Arraylist ..如何将其放入我的 arraylist 中?
Arraylist al=null;
al=new DownloadFilesTask().execute(myPrefs.getString("IP", ""), null, null);
not working.不工作。
I returns an Arraylist from the dobackground method..how to put it into my arraylist?
我从 dobackground 方法返回 Arraylist ..如何将其放入我的 arraylist 中?
By assigning your local ArrayList
from the doInBackground()
method to your global ArrayList
before returning it.通过在返回之前将
doInBackground()
方法中的本地ArrayList
分配给全局ArrayList
。
Sample code:示例代码:
@Override
protected ArrayList doInBackground(...) {
ArrayList localArrayList = new ArrayList();
// Other stuff you might have.
// ...
return mYourGlobalArrayList = localArrayList;
}
Try like this in ur code在你的代码中尝试这样
//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;
}
}
}
Then You can assign this arraylist to your arraylist in post execute然后您可以在执行后将此 arraylist 分配给您的 arraylist
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("");
Return it from your doInBackground method, and bind that in onPostExecute method.从您的 doInBackground 方法中返回它,并将其绑定在 onPostExecute 方法中。
In onPostExecute method, you can get return value of doInBackground as parameter value在 onPostExecute 方法中,可以获取 doInBackground 的返回值作为参数值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.