我需要获取应用程序的Context
,但在我的主类中从Game
扩展,因此我无法从Activity
扩展。有谁知道怎么做吗?
谢谢!
最佳答案
LibGDX是一个跨平台的游戏引擎,因此您的应用程序可以在多个平台上执行。只有 Android(它只是受支持的平台之一)可以提供 Context
对象。
要解决此问题,您需要在 LibGDX 项目的核心模块中创建一个Interface
。例如,该接口(interface)可以包含 getContext()
方法。将接口(interface)作为参数添加到主 LibGDX 类的构造函数中。在每个特定于平台的模块中,您应该实现此接口(interface),覆盖 getContext() 方法(通过在 android 中返回一个 Context 对象) module 和 null
在每个其他模块中),并将其与该模块的 Launcher 类中主 LibGDX 类的构造函数一起传递。
有关该主题的更多信息,请阅读 LibGDX Wiki:https://github.com/libgdx/libgdx/wiki/Interfacing-with-platform-specific-code
编辑:
LibGDX 无法处理 Context
对象,您需要在 Android 模块中操作 Context
对象,而不是将其传递给核心模块!感谢@Nicolas 和@Luis Fernando Frontanilla 提到这一点。
关于android - 如何在 LIBGDX android 应用程序中 getContext(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60025875/