android - 从线程发布 Toast 消息

标签 android multithreading toast

我的应用程序启动一个线程来查询 Web 中的一些数据。我想在找不到任何内容时显示 Toast 消息,但我的应用程序总是崩溃。

我试过在线程中使用应用程序上下文,如下所示:

Toast.makeText(getApplicationContext(), "testttt", Toast.LENGTH_LONG).show();

我还尝试使用 Toast 调用创建一个 Runnable 并从 Thread 调用 runOnUiThread(runnable)(此 runnable 中的 Toast 调用使用 Activity 作为第一个参数)。

有没有人对如何实现这个有任何想法?

最佳答案

尝试在 Handler 对象内部发布。

final Handler mHandler = new Handler();
final Runnable mUpdateResults = new Runnable() {
    public void run() {
        Toast(this, message, duration).show();
    }

new Thread() {
    public void run() {
        mHandler.post(mUpdateResults);
    }
}.start();

关于android - 从线程发布 Toast 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4209814/

相关文章:

android - 如何在我所有的新 Android Studio 项目中自动导入 butterkniffe?

android - 在安卓上构建 vp8

c# - 在 C++ 代码中调用 TerminateThread 后在 C# 代码中检测到 FatalExecutionEngineError

android - 不显示 toast 消息 android

java - 无法显示库的 JFrame

android - CameraManager 仅提供 2 个摄像头 ID,但一个设备具有三个物理摄像头。为什么?

android - onPeriodicNotification() 在*一些*设备上有抖动

java - 进化模拟 - 用于计时器事件处理的持久线程

java - 是否可以在同一程序的多个实例的多个线程之间进行通信?

android - 和引擎一起 toast 提问?