如何在Android 2.2中使用片段?

6

我有一个支持Android 2.2库的应用程序。在这个应用程序中,我想使用片段(fragment)。

有人建议我,如果可能的话,如何做到这一点。

谢谢。

4个回答

6
是的,您需要使用支持库。重要的是要知道,您也可以在蜂巢和冰淇淋三明治上使用支持库。这样,您就可以在所有平台上使用相同的构建。 您需要将SDK 4.0用作目标,并设置minsdk为2.2。 不同的问题是设置活动。对于Honeycomb+,您可以使用PreferenceFragment,但支持库尚未支持它们。 如果您使用PreferenceActivity的新onBuildHeaders方法和settings.xml中的“header”标记,则需要将该xml放入一个单独的文件夹中,例如xml-v12,以指定仅在API-12+中使用它。
有关设置,请查看: http://developer.android.com/reference/android/preference/PreferenceActivity.html 那里有一个很好的onBuildHeaders示例
有关支持库: http://developer.android.com/sdk/compatibility-library.html

有一件事我需要补充:我已经实现了这个解决方案,几乎所有的东西都运行良好。但是在使用TRANSIT_FRAGMENT_CLOSE删除一个片段时,有一个情况它不起作用。相同的代码在使用支持库的2.3版本和不使用支持库的Honeycomb版本上都能正常工作。为了在Honeycomb上继续使用支持库,我不得不使用TRANSIT_NONE。看起来这是支持库中的一个bug,但我没有时间进一步调查。 - kingston
有没有关于片段的简单教程? - Pejman

5

我认为在 Android 2.2 中包含片段,需要将 android-support-v4.jar 添加到您的项目中。


4

右键单击要添加Fragment支持的Android项目。

  • 构建路径->配置构建路径
  • 库选项卡
  • 添加外部JAR
  • 添加android-support-v4.jar(应该在extras/android/support/v4文件夹下)

还要记得使用getSupportFragmentManager代替getFragmentManager()


3
你可以使用支持包,也就是v4兼容性库来实现这一点。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接