java - 在 libgdx 中传递平台特定代码 - nullpointerexception

标签 java android libgdx

我正在尝试让 libgdx 与 Facebook SDK 一起工作,所以我想我需要让一些特定于平台的代码运行。

我从 Android 开始,这是我的 onCreate:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
    cfg.useGL20 = false;
    cfg.useAccelerometer = false;
    cfg.useCompass = false;

    initialize(new RPS(new androidFacebookHandler()), cfg);
}

RPS 的构造函数非常简单:

public RPS(facebookHandler _fbhandler) {
    this.fbhandler = _fbhandler;
    this.fbhandler.test();
}

fbhandler 的 test() 函数很简单。 (androidFacebookHandler实现facebookHandler)

Gdx.app.log("调试", "测试");

但是,这个示例给了我一个空指针异常...我的猜测是在 initialize() 之前我不能使用 Gdx.app。所以我尝试在 initialize() 之后使用 setFbhandler() 函数设置 fbhandler,但这给了我相同的结果。

最佳答案

调用电话this.fbhandler.test();create() RPS 的方法必须有(它必须是 ApplicationListener 的子类,对吧?)

在 Libgdx 中,库的初始化直到 create 开始之前才完成。方法(将由 Libgdx 基础架构调用以指示您的应用程序已启动),因此您无法访问 Gdx.<anything>直到那时。

关于java - 在 libgdx 中传递平台特定代码 - nullpointerexception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15375444/

相关文章:

Android Studio - 从本地创建远程分支

java - 以文本格式存储 KeyStoreGenerator 生成的私钥(例如保管库存储)- Java

java - 如何防止在 Android 应用程序中创建多个数据库?

java - @drawable/new_logo 在哪里定义的?

java - LIBGDX 加速整个游戏(使用 box2d)

java - 使用 libgdx 设置新屏幕会使我的游戏崩溃?

java - 如何在 libgdx 中让 Actor 留在舞台内?

java - 将数字四舍五入到特定的倍数

Java:如何使用 URL.openConnection() 强制进行新的 SSL 握手?

java - 如何从 ble 设备获取正确(解码)的制造商广告数据?