我只能在AsyncTask类中访问活动GUI(findViewById()
等),如果它嵌套在activity类中。这使我的代码文件更大,更不易阅读。
是否有解决此问题的方法,或者使用GUI方法的所有AsyncTasks
通常是否嵌套在活动类中?
答案 0 :(得分:2)
您可以编写回调接口。然后您可以在活动中实施。执行异步任务后,您可以将响应发送回活动并相应地更新UI。
interface IWebServiceResponse{
void onResponse(String response);
}
class MyActivity extends Activity implements IWebServiceResponse{
// override the method
onCreate(){
MyAsyncTask mt = new MyAsyncTask(MyActivity.this);
}
}
class MyAsyncTask extends AsyncTask{
// your code
IWebServiceResponse obj;
MyAsyncTask(IWebServiceResponse obj){
this.obj = obj;
}
onPostExecute(String response){
obj.onResponse(response);
}
}