0
解決策が見つからない場合があります。AsyncTaskをコールバック関数のように使うにはどうすればいいですか?
私はwebmethodから結果の値を取得し、それをパラメータに設定します。次に、それを使って別のWebメソッドに送信し、別のメソッドなどで使用します。ここで私がしたいことがあります。 :ハニカムは、UIスレッド上でWebサービスを呼び出すためにサポートされていないためのwebMethodsを呼び出している間、私はAsyncTaskを使用しています
x = webMethodA();
y = webMethodB(x+3);
if(y){
z=10;
} else {
z=1000;
t = webMethodC(z);
。私はonPostExecuteによって結果の値を取得していますが、呼び出し元のメソッドに戻すことはできません。
どのようにこの問題を解決できますか?
setMethodName("GetTarih");
KeyValuePair[] parameters = new KeyValuePair[2];
parameters[0] = new KeyValuePair("Rep", "TEST001");
parameters[1] = new KeyValuePair("Tarih", String.valueOf(Util.getOADateByToday()));
CallSoap soap = new CallSoap(uri, soapAction, parameters);
soap.setDataDownloadListener(new CallSoap.DataDownloadListener() {
public void dataDownloadedSuccessfully(String data) {
Log.e("aaaa",data);
tarih = data;
}
public void dataDownloadFailed() {
// TODO Auto-generated method stub
}
});
soap.execute("");
//I want to continue from this line with parameter named tarih.
「発信者メソッドに戻ることはできません。」とはどういう意味ですか? – Caner
私がしたいことはとても簡単です。私は非同期にWebメソッドを呼び出すつもりですし、結果を取得した後、もう一度別のWebメソッドを非同期に呼び出します。これは続く。問題は、はい私はwebmethodから結果を得ることができますが、私はUIのスレッドブロックのパラメータに結果の値を設定することはできませんです。メインコードはUI上で実行され、バックグラウンドスレッド上ではwebmethod呼び出しのみが実行されます。私は結果の値をキャッチし、それをUIブロックで定義するパラメータに渡す必要があります。 –
ケルブが言ったように、 'Handler'クラス – Caner