gpt4 book ai didi

android - 显示 Toast 消息时出错 : Can't create handler inside thread that has not called Looper. prepare()

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:57:51 35 4
gpt4 key购买 nike

我收到一个运行时异常:无法在工作线程中显示 Toast 消息时未调用 Looper.prepare() 的线程内创建处理程序

我有一个创建对象的服务(在远程进程中运行)。该对象负责在线程中连接到服务器。我从服务器得到响应。我想在 toast 中显示来自服务器的消息。那时我得到了这个异常(exception)。我尝试使用 handler.post 将其发布到 Handler 中。但我仍然遇到异常。

应该采取什么方法来避免这种情况。

最佳答案

像这样定义一个处理程序:

 private final Handler handler = new Handler() {
public void handleMessage(Message msg) {
if(msg.arg1 == 1)
Toast.makeText(getApplicationContext(),"Your message", Toast.LENGTH_LONG).show();
}
}

然后把下面的代码放在你需要显示toast消息的地方。

Message msg = handler.obtainMessage();
msg.arg1 = 1;
handler.sendMessage(msg);

关于android - 显示 Toast 消息时出错 : Can't create handler inside thread that has not called Looper. prepare(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7185942/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com