有没有办法从不扩展Activity的东西中调用一个活动?没有在UI-tread上运行它。我想在我的游戏中加入toast-messages,就像在糖果粉碎中一样。但我不知道如何在实时期间以有效的方式调用toast-activity。
我知道你可以使用上下文并从中获取活动,但它运行得不是很顺利。有没有人有这方面的经验?
答案 0 :(得分:1)
Toasts
以及操纵用户界面的其他组件。
为了解决您的问题,您可以做的是在管理您游戏的线程和您的UI线程之间设计一个消息传递系统。为此,您可以使用Handler
及其消息传递工具(sendMessage
,post
,postDelayed
...)来发送消息,甚至{{1}在你的主线程上运行。
如果在主线程中创建Runnables
,它将自动将其自身与主线程的事件循环关联,从而使发送给它的每个工作都在主线程中执行。
您可以做的基本示例是:
Handler
作为简写,您也可以使用Activity.runOnUiThread(Runnable r)
默认情况下在UI线程中执行给定的runnable。