0
我在一個案例,可以看到下面,我找不到任何解決方案。如何使用AsyncTask像回調函數
我打算從webmethod中取結果值並將其設置爲一個參數,然後在對它進行一些操作之後,我會將它發送給另一個webmethod,並且會被另一個方法等使用。以下是我想要做的:
x = webMethodA();
y = webMethodB(x+3);
if(y){
z=10;
} else {
z=1000;
t = webMethodC(z);
我在調用webmethods時使用AsyncTask,因爲蜂窩不支持在UI線程上調用webservices。我正在通過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
我想要做的事情非常簡單。我打算異步調用webmethod,並在得到結果後再次異步調用另一個webmethod。這繼續下去。問題是,是的,我可以從webmethod得到結果,但我無法將結果值設置爲UI線程塊中的參數。主代碼在UI上運行,只有webmethod調用在後臺線程上運行。我需要捕獲結果值並將其傳遞給在UI塊中定義的參數。 –
好的,正如kerubu所說的,檢查'Handler'類 – Caner