`无法创建处理......活套。prepare()`在继承活动 [英] `Can't create handler...Looper.prepare()` in inherited Activity
问题描述
我有所有的code行之有效一个游戏活动
(活动A)。然后,我创建了我的新的游戏模式一个新的活动
(活动B),即扩展
活动A.然而,当遇到吐司线,活动B突然抛出一个异常(活动A效果很好显示吐司):
无法创建内螺纹的处理程序已经不叫活套。prepare()
活动B只覆盖负载水平的方法,没有任何differrence!
试试这个:
处理程序innerHandler;(新主题(新的Runnable(){ @覆盖
公共无效的run(){
尺蠖prepare()。 innerHandler =新的处理程序(){
@覆盖
公共无效的handleMessage(消息消息){
Toast.make(...);
} @覆盖
公共无效DispatchMessage函数(消息消息){
的handleMessage(消息);
}
}; 消息消息= innerHandler.obtainMessage();
innerHandler.dispatchMessage(消息);
Looper.loop();
}
}))。开始();
有可能是处理这个问题的简单方法。请参阅 Android的 - 一个多线程环境下的UI 文档中的<。 / p>
I have a Game Activity
(Activity A) that works well with all the code. Then I create a new Activity
(Activity B) for my new game mode, that extends
Activity A. However, when encounter the Toast line, Activity B suddenly thrown an exception (Activity A works well showing the Toast):
Can't create handler inside thread that has not called Looper.prepare()
Activity B only overrides a load-level method, no any differrence!
Try this:
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();
There may be an easier way to handle the problem. Please refer to Android – Multithreading in a UI environment documentation.
这篇关于`无法创建处理......活套。prepare()`在继承活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!