0

所以这里是我对导入片段库(v4.jar)目的的理解。因为开发者想要使用和遵循新的 Fragment 的编码方式,但是这样会导致在运行 android 2.xx 的旧设备上出现兼容性问题,因此,在使用 Fragment 的项目中,开发者必须导入 v4.x 版本。 jar 库,以便旧设备知道哪些片段 API 并能够在应用程序中调用它们。如果这是正确的,我想在导入库后,android:minSdkVersion 应该能够设置为旧版本,例如 8(市场的 93%),而不是 l0,因为项目已经导入了库。

但是当我使用片段中的方法时,例如,实例化方法,我得到了这个错误:

调用需要 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支持库中的可用功能。

Fragment在 Android 3.0+ 上使用支持 API 没有任何缺点。

于 2012-07-27T15:47:58.883 回答