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