我有两个不同的异步任务。一个用于发出 GET 请求,另一个用于发出 POST 请求。
在我的应用程序中,我必须发出多个请求,因此我希望能够重用我编写的代码。
public static class performGetRequest extends AsyncTask<String, Void, String> {
ProgressDialog progress;
Activity activity;
Boolean progressBarRequired;
public FragmentDelivery.GetResponse delegate = null;//Call back interface
public performGetRequest(Boolean progressBarNeeded, Activity act, FragmentDelivery.GetResponse asyncResponse) {
delegate = asyncResponse;//Assigning call back interfacethrough constructor
activity = act;
progressBarRequired = progressBarNeeded;
}
使用此代码,我只能从 FragmentDelivery fragment 调用此异步任务。我如何从其他类中调用这个类?
非常感谢。
最佳答案
只需创建您自己的界面即可。
public static interface PerformInterface {
public void mycallback();
}
public static class performGetRequest extends AsyncTask<String, Void, String> {
ProgressDialog progress;
Activity activity;
Boolean progressBarRequired;
public PerformInterface delegate = null;//Call back interface
public performGetRequest(Boolean progressBarNeeded, Activity act, PerformInterface asyncResponse) {
delegate = asyncResponse;//Assigning call back interfacethrough constructor
activity = act;
progressBarRequired = progressBarNeeded;
}
}
并通过您想要的任何其他类来实现它。
例如
extends Activity implements PerformInterface {
///....
@Override
public void mycallback() {
//your code
}
}
以同样的方式,您甚至可以覆盖 FragmentDelivery.GetResponse
关于java - 在多个类中重用 Asynctask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41324492/