0

SO here は、フラグメントライブラリ(v4.jar)をインポートする目的についての私の理解です。開発者は新しい Fragment のコーディング方法を使用してそれに従いたいと考えていますが、これを使用すると Android 2.xx で実行される古いデバイスで互換性の問題が発生するため、開発者は Fragment を使用するプロジェクトで v4 をインポートする必要があります。 jar ライブラリを使用して、古いデバイスがフラグメント API を認識し、アプリでそれらを呼び出すことができるようにします。これが正しい場合、ライブラリをインポートした後、android:minSdkVersion は l0 ではなく 8 (市場の 93%) などの古いバージョンに設定できるはずです。これは、プロジェクトが既にライブラリをインポートしているためです。

しかし、インスタンス化メソッドなど、フラグメントのメソッドを使用しているときに、次のエラーが発生しました。

呼び出しには API レベル 11 が必要です (現在の最小値は 8): android.app.Fragment#instantiate

SDKがandroid:minSdkVersionを11に切り替えることを望んでいるのは明らかですが、ライブラリをインポートする目的は何ですか? そうすることで、Android 2.xx で実行されている古いデバイスでは、このアプリを使用できなくなります。誰かがこの問題を説明できますか?

4

1 に答える 1

1

間違ったFragmentライブラリをインポートしているようです。

これには API レベル 11 (Android 3.0) が必要です: http://developer.android.com/reference/android/app/Fragment.html

これは、サポート ライブラリで利用できるため、API レベル 4 (Android 1.6) が必要です: http://developer.android.com/reference/android/support/v4/app/Fragment.html

FragmentManagerまた、サポート ライブラリで利用可能なを使用する必要があることに注意してください。

FragmentAndroid 3.0 以降でサポート API を使用することに欠点はありません。

于 2012-07-27T15:47:58.883 に答える