getChildFragmentManager在4.0.3设备上引发NoSuchMethod异常,但在4.2.2上没引发异常

时间:2013-07-10 18:02:43

标签: android android-fragments android-support-library android-nested-fragment

我需要为我的应用程序使用嵌套片段,所以我想使用getChildFragmentManager

我有两个设备:

  • 在4.0.3
  • 上运行的真实版本
  • 在4.2.2上运行的虚拟

它在第二个上工作得很好,但在我的物理设备上却没有,因为调用此方法会引发NoSuchMethod异常。

07-10 19:53:51.722: E/AndroidRuntime(29711): java.lang.NoSuchMethodError: fr.epitech.test_esi.fragments.ReservationCalendarFragment.getChildFragmentManager

我的项目使用引用的库,所以我已经下载了最新的android支持库(来自SDK管理器),我已将它添加到库和主项目中。

Projects view in Eclipse

此外,我决定将支持的最低sdk版本设置为4.0.3(我的真实设备运行的版本):

<uses-sdk
    android:minSdkVersion="15"
    android:targetSdkVersion="17" />

对于主项目和图书馆。

如果有人知道我能做错什么,请告诉我。

2 个答案:

答案 0 :(得分:10)

getChildFragmentManager()仅可通过Android支持包的片段后端口获得,或在API级别17+上获取原生片段。因此,如果您尝试在API级别15或16上使用本机片段,并且您还尝试使用getChildFragmentManager(),则会出现此错误。

答案 1 :(得分:0)

尝试使用android.support.v4.app.Fragment代替