2011-12-17 9 views

答えて

5

私は、Android 2.2にフラグメントを含めるために、あなたのプロジェクトにandroid-support-v4.jarを追加する必要がある、ということだと思います。

6

はい、サポートライブラリを使用する必要があります。重要なことは、ハニカムとアイスクリームのサンドイッチでサポートライブラリを使用できることです。このようにして、すべてのプラットフォームで同じビルドを使用できます。 SDK 4.0をminsdk 2.2のターゲットとして使用する必要があります。 別の問題は設定アクティビティです。 Honeycomb +の場合、まだサポートライブラリでサポートされていないPreferenceFragmentを使用することができます。 PreferenceActivityの新しいonBuildHeadersメソッドとsettings.xmlの "header"タグを使用する場合は、そのxmlをAPI-12 +でのみ使用するように指定するには、たとえばxml-v12のように区切られたフォルダにxmlを配置する必要があります。設定については

はを見てい: http://developer.android.com/reference/android/preference/PreferenceActivity.html をサポートライブラリのonBuildHeaders

の良い例があります: http://developer.android.com/sdk/compatibility-library.html

+0

私が追加する必要があるもの:私はこのソリューションを実装しており、ほとんどすべてがうまく動作します。あるケースでは、TRANSIT_FRAGMENT_CLOSEを使用してフラグメントを削除すると、そのフラグメントは機能しません。サポートlibを使用していない場合、同じコードは2.3でサポートlibとハニカムで動作します。 Honeycombでサポートライブラリを使い続けるために、私はTRANSIT_NONEを使わなければなりませんでした。サポートlibにバグがありますが、もっと調査する時間がありませんでした。 – kingston

+0

断片のチュートリアルはありますか? – Omid

4

右あなたがのためのフラグメントのサポートを追加したいのAndroidプロジェクトをクリックしてください。

  • ビルドPath->設定
  • ライブラリタブ
  • は、外部JAR
  • は、アンドロイド・サポート・v4.jarを追加ビルドパス(/エクストラ/アンドロイド下アンドロイドダウンロード フォルダにする必要がありますサポート/ v4の

getFragmentManager()の代わりにgetSupportFragmentManagerを使用することを忘れないでください。

関連する問題