我有一个问题如下:我必须从 android 的 mysql 中获取一些数据,为此我使用 php 来完成,但是由于我使用 android 4.0,所以通过AsyncTask
. 问题是我不知道如何返回结果arraylist
。
问问题
513 次
2 回答
2
您可以创建interface
,将其传递给AsyncTask
(在构造函数中),然后调用方法onPostExecute
例如:
你的界面:
public interface OnTaskCompleted{
void onTaskCompleted(values);
}
您的活动:
public YourActivity implements OnTaskCompleted{
//your Activity
YourTask task = new YourTask(this); // here is the initalization code for your asyncTask
}
还有你的 AsyncTask:
public YourTask extends AsyncTask<Object,Object,Object>{ //change Object to required type
private OnTaskCompleted listener;
public YourTask(OnTaskCompleted listener){
this.listener=listener;
}
//required methods
protected void onPostExecute(Object o){
//your stuff
listener.onTaskCompleted(values);
}
}
于 2012-12-11T12:52:05.333 回答
1
一种方便的方法是使 AsyncTask 成为 Activity 类中的匿名类。然后在 onPostExecute 方法中,您可以从创建 AsyncTask 的方法访问属于您的 Activity + final 对象的所有字段。
于 2012-12-11T13:02:00.060 回答