从libGDX应用程序Android获取视图

时间:2014-09-22 02:14:20

标签: 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.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异常。我怎么处理这个?

1 个答案:

答案 0 :(得分:0)

在libgdx项目中使用Android视图是错误的方法。你应该放置所有适用于LibGdx extends AndroidApplication类视图的逻辑,如果你想从另一个类访问这个逻辑,你应该创建Interface,它将被转移到你的主Game类。这样您就可以在任何地方访问“Android特定”逻辑。有关详细信息,请参阅本指南 - Interfacing with platform specific code