176

android.app.Fragmentとの違いは何ですか?またandroid.support.v4.app.Fragment、それぞれを使用する必要がある状況は何ですか?

4

6 に答える 6

290

android.support.v4.app.Fragmentは、AndroidサポートライブラリのFragmentクラスです。これは、古いバージョンのAndroidでAndroidの新しい機能の一部を使用できるようにする互換性パッケージです。

android.app.FragmentAndroidSDKのネイティブバージョンのFragmentクラスです。Android 3(API 11)で導入されました。

アプリでフラグメントを使用するようにし、API 11より前のデバイスをターゲットにする場合は、を使用する必要がありますandroid.support.v4.app.Fragment。ただし、API 11以降を実行しているデバイスのみを対象としている場合は、を使用できますandroid.app.Fragment

編集:OSに含まれるandroid.app.Fragment ものは非推奨になり(APIレベル28の時点で)、すべての人がサポートライブラリの実装の使用に移行する必要があります。

于 2013-02-27T10:00:07.797 に答える
57

2018年現在:

android.app.Fragment ドキュメントから:

このクラスはAPIレベル28で非推奨になりました。すべてのデバイスで一貫した動作を行い、ライフサイクルにアクセスするに
は、サポートライブラリを使用してください。Fragment

したがって、サポートフラグメント(android.support.v4.app.Fragment)は、ネイティブフラグメント()の代わりにどこでも使用する必要がありますandroid.app.Fragment

于 2018-03-19T08:56:44.180 に答える
12

私はandroid.support.v4.app.Fragment独占的に使用します。

私が作成するすべてのアプリは、Android 2.3に戻ってサポートする必要があり、これが最も簡単な方法です。

11以降をサポートしている場合は、に固執してandroid.app.Fragmentください。

于 2013-02-27T10:00:49.223 に答える
4

アプリケーションがAPI11以降を対象としている場合はandroid.app.Fragment、APKファイルを使用できます。

android.support.v4.app.Fragmentそれ以外の場合は、古いAndroid APIバージョン(Android 3.x)をサポートするために、ライブラリをプロジェクトに追加します。

于 2017-08-18T11:19:32.267 に答える
2

android.support.v4.app.Fragmentは、古いAPIバージョンの下位互換性を取得するために使用できるライブラリです。

フラグメントはAPIレベル11で(他の機能とともに)追加されました。これらの機能をAPI 11より前のデバイスに拡張するには、そのライブラリを含める必要があります。これは便利なライブラリであり、アクションバーをAPIv11より前のデバイスに拡張するActionBarSherlockを確認することをお勧めします。

于 2013-02-27T10:04:32.823 に答える
-2

アプリケーションがAPI11以上のレベルを対象としている場合は、android.app.Fragmentを使用すると、APKのサイズが小さくなります。それ以外の場合は、android.support.v4.app.Fragmentを使用してください

于 2018-03-25T13:46:34.190 に答える