use*_*301 5 java android andengine android-toast
我正在通过Andengine为Android开发一款游戏.我有MainActivity类和GameScene类.我在GameActivity中使用Toast消息.它正在发挥作用.
Toast.makeText(this, " Hello World", Toast.LENGTH_SHORT).show();
Run Code Online (Sandbox Code Playgroud)
所以我想在GameScene类中使用Toast消息.但它不起作用.这是代码:
Toast.makeText(activity, " Hello World", Toast.LENGTH_SHORT).show();
Run Code Online (Sandbox Code Playgroud)
我必须使用"活动"而不是"这个".但它不起作用
为什么?
编辑:
当我使用第二个时,会发生错误.LogCat:http: //s29.postimg.org/k8faj9mdj/Capture.png
laa*_*lto 24
你试图Toast在后台线程中显示一个.您应该在主UI线程上执行所有UI操作.
这个例外RuntimeException: Can't create handler inside thread that has not called Looper.prepare()对于初学者来说可能有点神秘,但实质上它会告诉你,你处于一个错误的线程中.
要解决它,请将吐司包裹起来,例如runOnUiThread():
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(...).show();
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23105 次 |
| 最近记录: |