gpt4 book ai didi

java - 显示来自 run() 方法的对话框

转载 作者:行者123 更新时间:2023-11-29 18:25:06 25 4
gpt4 key购买 nike

我试图从 run 方法弹出对话框,它给我一个异常,即没有调用 Looper.prepare,当我调用相同的方法时,我没有得到任何异常,但控制台上没有显示弹出对话框。由于我以这种方式使用处理程序,

handler = new Handler() {
public void handleMessage(Message msg) {
showDialog(DIALOG1_KEY);
// process incoming messages here
}
};

我没有再遇到任何异常,但仍然没有任何人能告诉我哪里做错了。

最佳答案

很难从您提供的代码 fragment 中判断出来,但我认为您使用的处理程序不正确。

您需要做的是在主线程上初始化一个新的 Handler 对象,例如将其定义为字段变量。

private Handler handler = new Handler();

然后创建一个新的 Runnable,其中包含您要在 GUI 线程上执行的指令(但将从后台线程的 run 方法调用)。

private Runnable runOnGUI = new Runnable() {
private void run() {
showDialog(DIALOG1_KEY);
}
};

然后在您的运行方法中,您需要使用处理程序对象将您的 runOnGUI 方法发布到 GUI 线程上。

private Runnable runInBackground = new Runnable() {
private void run() {
handler.post(runOnGUI);
// Do processing
}
};

关于java - 显示来自 run() 方法的对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1079475/

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