2012-11-26 9 views
5

私の目標:私は、アンドロイドで私のlibgdxゲームの横に沿って断片を使いたいと思います。LibGDXのAndroidApplicationクラスでAndroid Fragmentをサポートするには?

ここに問題があります。 libgdxゲームをホストするアクティビティでは、AndroidApplicationクラスを拡張する必要があります。

public class MyGameActivity extends AndroidApplication {} 

AndroidApplicationもActivityクラスの拡張

public class AndroidApplication extends Activity ... {} 

であるのに対し、私は活動にフラグメントを使用すると、問題が出番です。私はまた、MyGameActivityが断片

public class MyGameActivity extends FragmentActivity {} 

をサポートするので、同じようFragmentActivityを拡張しかし、それはAndroidApplicationを拡張しない場合はゲームが実行されませんようにする必要があります。 この問題を回避するにはどうすればよいですか?

私はこれを行うことができる唯一の場合は...

public class MyGameActivity extends AndroidApplication, FragmentActivity {} 

私はアプリは後方互換性を持たせるために、サポートライブラリを使用しています。

答えて

1

Javaでは複数の継承を実行することはできません。あなたは何ができるか

は、パブリッククラスMyAndroidApplicationがFragmentActivityがアプリケーション

を実装し、あなたがAndroidApplicationをインスタンス場所にあなたがMyAndroidApplicationをインスタンス化する必要があります拡張

FragmentActivity

から継承されたクラスでこのコードを https://github.com/libgdx/libgdx/blob/master/backends/gdx-backend-android/src/com/badlogic/gdx/backends/android/AndroidApplication.java

をコピーしています。

+0

これは今のところ行う必要があると思います。 AndroidInputクラスやAndroidAudioクラスのようなAndroidApplicationクラスを必要とする他のクラスもありますが、MyAndroidApplicationはそれらと動作しません。 – ains

+0

それは本当です。おそらくMyAndroidInputとMyAndroidAudioも作成する必要があります。幸いにもLibGdxはオープンソースです。一般的に、私はこの部分を改善できると言います。私は数週間以内にそれを修正する可能性を検討します。 –

2

更新: LibGdxはAndroidフラグメントをサポートし、AndroidFragmentApplicationを使用します。 documentation

関連する問題