0

ご挨拶とご挨拶、

短いバージョン: minSkdVersion が 8 (Android 2.2) の Android アプリケーションで DialogFragment を使用しようとしています。それらを利用するには、「getSupportFragmentManager()」を呼び出せる必要があります。これを行うために、呼び出し元のアクティビティを FragmentActivity に変更して、実行時に getSupportFragmentManager() を解決できるようにしましたが、実行時にそのインテントを作成しようとすると、アプリケーションが上流の何かを解決できないため、NoClassDefFoundError が発生します。それ

W/dalvikvm(333): スーパークラスを解決できません...

その場合、単純なアクティビティから getSupportFragmentManager() を呼び出すには、そのアクティビティを FragmentActivity (機能しませんでした) にしないでください。または、アクティビティを FragmentActivity にする必要がありますが、それを機能させるには他にいくつかの変更を加える必要がありますか?

記録のために: android-support-v4.jar を既にプロジェクトに追加しました (そうしないと、まったくコンパイルできません)。

よろしくお願いいたします。

4

2 に答える 2

2

FragmentActivity は見つからないクラスなので、何が問題なのかはわかっていると思います。互換性ライブラリが APK に含まれていますか? dex2jar を使用してこれを確認できます。libsAndroidツールの新しいリビジョンにライブラリを含めるには、ライブラリをフォルダに移動する必要があるようです。

于 2012-04-25T22:08:58.700 に答える
1

サポートライブラリの例を見てください。これらの機能をサポートするために、「FragmentActivity」から拡張されています。

彼らはまた、サポートライブラリを使用するためにそれを拡張する必要があると書いています:http: //developer.android.com/reference/android/support/v4/app/FragmentActivity.html

FragmentActivity:

「サポートベースのフラグメントおよびローダーAPIを使用するアクティビティの基本クラス。

新しいプラットフォームの組み込みフラグメントおよびローダーサポートとは対照的にこのクラスを使用する場合、これらの機能にアクセスするには、それぞれgetSupportFragmentManager()メソッドとgetSupportLoaderManager()メソッドを使用する必要があります。」

于 2012-04-25T17:22:56.497 に答える