我有一个游戏Activity
(活动 A)适用于所有代码。然后我创建一个新的Activity
(活动 B)对于我的新游戏模式,extends
Activity A。然而,当遇到 Toast 行时,Activity B 突然抛出异常(Activity A 可以很好地显示 Toast):
Can't create handler inside thread that has not called 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 – UI 环境中的多线程 http://www.aviyehuda.com/2010/12/android-multithreading-in-a-ui-environment/文档。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)