gpt4 book ai didi

java - `Can' t 在继承的 Activity 中创建处理程序...Looper.prepare()`

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

我有一个游戏 Activity(Activity A),它适用于所有代码。然后我为我的新游戏模式创建了一个新的 Activity(Activity B),extends Activity A。但是,当遇到 Toast 行时,Activity B 突然抛出异常( Activity A 很好地展示了 toast ):

无法在尚未调用 Looper.prepare() 的线程内创建处理程序

Activity B 只是覆盖了一个加载级别的方法,没有任何区别!

最佳答案

试试这个:

Handler innerHandler;

(new Thread(new Runnable() {

@Override
public void run() {
Looper.prepare();

innerHandler = new Handler() {
@Override
public void handleMessage(Message message) {
Toast.make(...);
}

@Override
public void dispatchMessage(Message message) {
handleMessage(message);
}
};

Message message = innerHandler.obtainMessage();
innerHandler.dispatchMessage(message);
Looper.loop();
}
})).start();

可能有更简单的方法来处理这个问题。请引用Android – Multithreading in a UI environment文档。

关于java - `Can' t 在继承的 Activity 中创建处理程序...Looper.prepare()`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6732529/

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