【发布时间】:2014-01-30 22:38:39
【问题描述】:
我有几个活动需要执行 HTTP 请求(发送 JSON 请求并返回另一个 JSON 对象)。
我的想法是为所有这些请求共享一个 AsyncTask。我将 Activity 作为参数传递,以便在请求执行完成后调用方法。
我想再向我的 AsyncTask 传递一个参数,该参数将是我的 Activity 的类(MainActivity.class、SecondActivity.class),然后使用该信息将 Activity 转换为正确的类型,然后再调用方法(所有活动的方法名称都相同)。
我也可以使用我的回调方法创建一个接口,但我不确定这是否也行不通。
这行得通还是我的方法在这里错了?
感谢您的反馈。
我的代码:
公共类 HTTPReq 扩展 AsyncTask {
private MainActivity callerActivity;
@Override
protected String doInBackground(Object... params) {
String data = (String) params[0];
String cookie = (String) params[1];
callerActivity = (MainActivity) params[2];
...
}
@Override
protected void onPostExecute(String result) {
callerActivity.ProcessHTTPReqAnswer(result);
super.onPostExecute(result);
}
}
【问题讨论】:
标签: android android-activity android-asynctask