在完成上述回答后,您还可以为每次异步调用定制回退,以便对通用ASYNC方法的每次调用都会填充不同的数据,具体取决于您放置的onTaskDone内容。
Main.FragmentCallback FC= new Main.FragmentCallback(){
@Override
public void onTaskDone(String results) {
localText.setText(results); //example TextView
}
};
new API_CALL(this.getApplicationContext(), "GET",FC).execute("&Books=" + Main.Books + "&args=" + profile_id);
提醒:我用的主要活动多数民众赞成在 “主” 说到界面,就像这样:
public interface FragmentCallback {
public void onTaskDone(String results);
}
我的API后执行这个样子的:
@Override
protected void onPostExecute(String results) {
Log.i("TASK Result", results);
mFragmentCallback.onTaskDone(results);
}
的API构造器看起来像这样:
class API_CALL extends AsyncTask<String,Void,String> {
private Main.FragmentCallback mFragmentCallback;
private Context act;
private String method;
public API_CALL(Context ctx, String api_method,Main.FragmentCallback fragmentCallback) {
act=ctx;
method=api_method;
mFragmentCallback = fragmentCallback;
}
应该在清单文件中写入asyntask类吗? – 2012-04-01 11:44:47
@AsafNevo不,不应该 – 2012-04-01 11:58:49
@Dmitry,除了onTaskCompleted以外,还有什么其他的监听器状态?那么onPreExecute呢? – rxlky 2013-03-24 00:14:46