5

私の目標: Android で libgdx ゲームと一緒にフラグメントを使用したいと考えています。

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

public class MyGameActivity extends AndroidApplication {}

AndroidApplication は Activity クラスの拡張でもありますが、

public class AndroidApplication extends Activity ... {}

アクティビティでフラグメントを使用したいのですが、ここで問題が発生します。フラグメントをサポートするために、MyGameActivity が FragmentActivity を拡張するようにする必要もあります。

public class MyGameActivity extends FragmentActivity {}

ただし、AndroidApplication を拡張しないとゲームは実行されません。この問題を回避するにはどうすればよいですか?

これさえできれば…

public class MyGameActivity extends AndroidApplication, FragmentActivity {}

サポート ライブラリを使用して、アプリの下位互換性を確保しています。

4

2 に答える 2

2

更新: LibGdx は Android フラグメントをサポートするようになりました。AndroidFragmentApplication を使用してください。ドキュメントを見る

于 2014-08-03T20:42:16.650 に答える
1

Java で多重継承を行うことはできません。

あなたができることは、このコードをコピーすることですhttps://github.com/libgdx/libgdx/blob/master/backends/gdx-backend-android/src/com/badlogic/gdx/backends/android/AndroidApplication.java

FragmentActivity から継承されたクラスで

public class MyAndroidApplication extends FragmentActivity implement Application

そして、AndroidApplication をインスタンス化する場所で、MyAndroidApplication をインスタンス化する必要があります。

于 2012-11-26T14:52:41.317 に答える