java - 如何显示来自另一个线程的警报对话?

标签 java android multithreading

我有一个应用程序,它有一个链接到布局的类。然后,该布局在另一个线程中运行一个进程,以避免卡住布局。最终,第二个线程中的代码应该在第一个线程中的布局上显示对话。代码正在运行。我知道这一点是因为我在其末尾放置了一条打印语句,但对话并未显示。

那么如何在线程完成后显示对话呢?据我所知,我不能只是将它放入另一个线程中,所以我很困惑。任何帮助将不胜感激。

最佳答案

在onCreate()中创建Handler对象

 mHandler=new Handler();

然后

在要显示对话框或更新任何 UI View 的线程中编写以下代码。

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

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

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

关于java - 如何显示来自另一个线程的警报对话?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46697941/

相关文章:

java - 语音识别API : How to get the voice features (MEL Coefficients)

Java - 连接到 MYSQL 数据库 try/catch 的代码出错?

java - 在 Android 中创建信使

java - 现代 Android 中的非合作 Thread.stop() 替代方案

java - 动态改变线程池的大小

java - Java中分割ArrayList并将其传递给不同的线程

java - 如何使用java.util.Scanner从System.in正确读取用户输入并对其进行操作?

java - 在java中生成新变量

android - Kotlin Flow - 有没有类似于 LiveData 的 emitSource 的东西?

java - 为什么firebase的addValueEventListener的onDataChange方法中的ArrayList不为null,但外面却为null?