13

ViewPagerと関連するFragmentPagerAdaptorに出会いました。これらは通常の Android パッケージには含まれていませんが、V4 サポート パッケージでのみ利用できます。FragmentPagerAdaptor は v4 FragmentManager をインスタンス化する必要があるため、android.app.Fragment で FragmentPagerAdaptor を使用できないようです。Activity と FragmentActivity の違いを読むと、これは一致しているようです - v4 Fragments と関連クラス、または通常の android.app.Fragments のいずれかを使用してください。絶対に混ぜないでください。

さらに詳しく見てみると、通常の android.app.Fragments は v4 サポート パッケージよりも強力ではないため、まったく使用する必要はありません。(別の質問から引用: Android サポート パッケージは、新しい API のバックポート用だけでなく、ViewPager やそのサポート クラスなど、何らかの理由で SDK に追加されていない他のクラス用でもあります。 ) 私が考えることができる「唯一の」欠点は、v4サポートライブラリがAPKにバンドルされていることです。これは、アプリがより多くのスペースを占有することを意味します.

フラグメントにはより多くの機能が含まれているため、フラグメントには常に v4 サポート ライブラリを使用する必要があると結論付けるのは正しいですか? (そして、それらは下位互換性があることを忘れないでください。)

4

2 に答える 2

9

と を一緒に使用できることに気付きました.... を使用するandroid.app.Fragmentと、v13サポート パッケージが android.app.Fragment と. なんて混乱。android.support.v4.view.ViewPagerandroid.support.v13.app.FragmentPagerAdapter.android.support.v4.view.ViewPager

これは私が思いついた特定の例を解決しますが、心配しているだけでも、ビルドインクラス(android.app.Fragmentなど)の代わりにv4クラスが利用可能な場合は常に使用するのが最善の選択肢であるかどうかはまだ疑問です. ICS と新しいデバイスについて教えてください。

于 2012-10-25T14:40:22.693 に答える
0

下位互換性に関しては、v4 サポート パッケージ バージョンを使用するのが最善の方法です。

デバイスが機能を組み込んだオペレーティング システムに移行するにつれて、サポート パッケージに含まれるすべての機能が SDK に含まれるため、SDK バージョンの使用が容易になるでしょう。

今のところ、Android デバイスのパイの大部分を占める 2.2/2.3 デバイスのサポートを提供するために、v4 に固執してください。

于 2012-10-25T10:03:40.167 に答える