2016-12-25 10 views
0

私は2つの異なるasynctaskを持っています。 1つはGETリクエストを作成し、もう1つはPOSTリクエストを作成する。いくつかのクラスでAsynctaskを再利用

私のアプリケーションでは、私が書いたコードを再利用できるようにいくつかのリクエストを行う必要があります。

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; 
    } 

このコードでは、このasynctaskをFragmentDeliveryフラグメントから呼び出すことしかできません。このクラスをどのように他のクラスから呼び出すことができますか?

ありがとうございます。

+0

同じ方法をオーバーライドすることができます同じように

例えば

extends Activity implements PerformInterface { ///.... @Override public void mycallback() { //your code } } 

。おそらく 'GetResponse'を自分のクラスに移動します –

+0

同じコードを追加して別のクラスの" FragmentDelivery "を変更するということですか? – Aldridge1991

答えて

1

独自のインターフェイスを作成するだけです。

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; 
    } 
} 

あなたが望む他のクラスで実装します。あなたが `FragmentDelivery`から呼び出すさえFragmentDelivery.GetResponse

関連する問題