簡體   English   中英

我如何像回調函數一樣使用AsyncTask

[英]How do I use AsyncTask like callbackfunction

我在以下情況下無法找到任何解決方案。

我將從網絡方法中獲取結果值並將其設置為參數,然后用它進行一些操作后,將其發送至另一網絡方法,並將其用於其他方法,等等。這是我想要做的:

x = webMethodA();
y = webMethodB(x+3);
if(y){
z=10;
} else {
z=1000;
t = webMethodC(z);

我在調用Web方法時使用了AsyncTask,因為蜂窩不支持在UI線程上調用Web服務。 我通過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.

如果您想在線程之間發送消息/數據/捆綁,請查看MessageHandler類。

您的“工作者”線程將創建一條消息,其中包含要發送到您的UI線程的結果。

創建處理程序時,請確保在UI線程中創建它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM