Java 从libGDX应用程序Android获取视图

Java 从libGDX应用程序Android获取视图,java,android,view,libgdx,Java,Android,View,Libgdx,我正在制作一个LibGDX应用程序,我需要将视图放到Android应用程序中。 以下是获取视图的代码: package jangkoo.game.shadowfiend.android; import jangkoo.game.shadowfiend.ShadowFiendGame; import android.os.Bundle; import android.util.Log; import android.view.View; import com.badlogic.gdx.back

我正在制作一个LibGDX应用程序,我需要将视图放到Android应用程序中。 以下是获取视图的代码:

package jangkoo.game.shadowfiend.android;

import jangkoo.game.shadowfiend.ShadowFiendGame;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
public class LibGdx extends AndroidApplication {
    private static final String TAG = "LibGDx";
    public View view;
    Bundle savedInstanceState;
    @Override
    protected void onCreate (Bundle savedInstanceState) {
        if(savedInstanceState == null)
        this.savedInstanceState = getIntent().getExtras();
        Log.e(TAG,savedInstanceState + "");
        super.onCreate(savedInstanceState);

        AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
        view = initializeForView(new ShadowFiendGame(), config);

    }
    public LibGdx(){
        onCreate(new Bundle());
    }

    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);

        }
}
我想从中获取libGDX.view,用于一个不扩展AndroidApplication的类

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

    interstitialAd = new IntestialAds(this);
    inflater = LayoutInflater.from(this);
    config = new AndroidApplicationConfiguration();
    libGdx = new LibGdx();
    Log.e(TAG,libGdx.view + "");
}

但是,onCreate函数具有nullpointer异常。如何处理这个问题?

在libgdx项目中使用Android视图是错误的。您应该将所有与view一起工作的逻辑放在
LibGdx extends android应用程序
类上,如果您想从另一个类访问该逻辑,您应该创建
接口
,该接口将传输到主
游戏
类。这样,您就可以在任何地方访问“特定于Android”的逻辑。查看本指南了解更多详细信息-

我希望开始布局将是本机代码,然后按下按钮将调用initializeForView以获取游戏视图。但看起来我需要在onCreate上调用它。我该怎么做?我需要通过LibGdx?1创建所有屏幕。在LibGdx onCreate中调用initializeForView。2.将其添加到游戏中,但将其设置为不可见。3.将要调用的功能按入界面中的按钮。4.在LibGdx类中实现接口。4.现在可以在需要的地方调用它,例如,可以创建两个函数showAd()和hideAd()。这里也有同样的例子:像这样,我如何在主游戏中获得一些值,比如切换到其他本机代码屏幕的状态?您只需在接口中创建一个函数,它将返回您的状态,然后从接口返回其他带有natvie代码的函数。其主要思想是:拥有尽可能少的特定于平台的代码。