Android:如何从线程显示自定义对话框

时间:2011-11-01 19:56:57

标签: android multithreading dialog android-asynctask ui-thread

我堆叠了这个,我正在尝试使用TabLayout创建应用程序。我有3个标签(3个不同的活动)。我也得到了服务,读取我的GPS位置 - 工作正常。我得到了一个发布到Web服务器用户位置的帖子 - 适用于。

现在我正在尝试创建一个线程,询问Web服务器是否有用户的消息。如果有 - 线程尝试显示自定义对话框(2文本视图和图库 - 如果我通过单击按钮从活动开始操作,它的工作原理),并且问题开始我知道我无法更新与主线程不同的UI表单线程但我不知道如何解决这个问题。我尝试使用AsyncTask - 失败 - 我不想将AsyncTask分配给特定的Activity作为内部私有类。

我希望无论用户当前使用的标签如何,我都可以显示自定义对话框。

线程工作正常,但如何显示该对话框。

我读到了关于runOnUIThread但不知道如何使用它。

任何想法,任何类似的例子??

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

使用runOnUiThread非常简单。

YourActivity.this.runOnUiThread(new Runnable() {
    public void run() {
        YourActivity.this.showDialog(CUSTOM_DIALOG_ID);
    }
}