在完成上述回答後,您還可以爲每次異步調用定製回退,以便對通用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