2017-10-11 23 views
0

我有一个应用程序,它有一个链接到布局的类。此布局然后在另一个线程中运行一个进程以避免冻结布局。最终,第二个线程中的代码应该在第一个线程中显示关于布局的对话。代码正在运行。我知道这一点,因为我在最后打印了一篇声明,但对话没有出现。如何显示来自另一个线程的提示对话?

那么一旦线程完成后,我该如何让对话显示出来呢?据我所知,我不能把它塞进另一个线程,所以我很难过。任何帮助,将不胜感激。

回答

1

中的onCreate创建处理程序的对象()

mHandler=new Handler(); 

然后

写下面的代码你的线程里面,你想要显示对话框或更新任何UI视图。

mHandler.post(new Runnable() { 
    public void run(){ 

     AlertDialog.Builder builder = new AlertDialog.Builder(YourActivity.this); 
     //Add all dialog prepaation code 
    } 
}); 

欲了解更多信息,请参阅Background processing in Android

+0

这完美地工作。非常感激! –

0

您需要使用线程中的runOnUiThread来访问您的视图并对其进行更新/编辑。

runOnUiThread(new Runnable() { 
        @Override 
        public void run() { 
         btn.setText("#"); 
         //show your dialog here 
         //do your work here 
        } 
       }); 

,如果您使用的片段只是增加getActivity()之前runOnUiThread

相关问题