2
關於線程的問題並不缺乏,但我知道,但我似乎無法找到一個線程做「http」工作的「完整」示例,然後回來更新UI。如何在Web服務調用線程完成後更新UI
我基本上在應用程序啓動時調用一些Web服務。我顯然不想凍結用戶界面,所以我想要使用一個單獨的線程,對不對?我在網上找到了大量關於如何獲得新線程來執行某些任務的示例。但是我還沒有找到一個展示如何在線程任務完成時實際更新UI的方法。
如何知道Web服務線程何時完成?有沒有回調方法?如果存在,我可以使用此回調方法訪問UI嗎?
編輯:(下面是一些代碼)
//The activate method is called whenever my application gains focus.
public void activate(){
DoSomething wsThread = new DoSomething();
wsThread.start();
}
public void wsCallBack()
{
myTabScreen.add(new ButtonField("Callback called"));
}
public class DoSomething extends Thread
{
public void run()
{
try
{
wsCallBack();
}
catch(Exception e)
{
}
}
}
很簡單。但它從不創建按鈕。
任何想法?
非常感謝。
非常感謝回覆。然而,我似乎無法從我的主線程的activate()方法啓動新線程,這正是我最終要做的。這是不允許的? – PaulG 2011-12-22 16:52:39
你可以發佈一些代碼和你嘗試這樣做時得到的錯誤嗎?你的主線程的激活方法是什麼意思? – Tamar 2011-12-22 18:11:29
我上面編輯了我的問題以顯示一些代碼。謝謝 – PaulG 2011-12-28 13:52:42