6

내 응용 프로그램에 중첩 된 조각을 사용해야하므로 getChildFragmentManager을 사용하고 싶습니다.getChildFragmentManager 4.0.3 장치에서 NoSuchMethod 예외 발생 4.2.2에 없음

나는 두 개의 장치가 있습니다

  • 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 

내 프로젝트는 그래서 (SDK 관리자에서) 최신 안드로이드 지원 라이브러리를 다운로드 한 내가 도서관 및 주요 프로젝트 모두에 추가 한 참조 라이브러리를 사용합니다. 주요 프로젝트와 라이브러리를 모두 들어

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

:

Projects view in Eclipse

또한 나는 4.0.3에 지원되는 최소 SDK 버전 (내 실제 장치에서 실행중인 버전)을 설정하기로 결정했다.

누구든지 내가 잘못 할 수있는 것에 대해 알고 있다면 알려주십시오.

답변

9

getChildFragmentManager()은 Android 지원 패키지의 백분율 또는 원시 조각에 대한 API 레벨 17 이상에서만 사용할 수 있습니다. 따라서 API 레벨 15 또는 16에서 기본 프래그먼트를 사용하려고하고 getChildFragmentManager()을 사용해도이 오류가 발생합니다.

+0

감사합니다. TabListener를 사용하지 않으면 backport lib에서 Fragment를 사용하는 것이 문제가됩니까? – nathan

+0

@nathan :'TabListener'는 어떤 종류의 프래그먼트에 묶여 있지 않습니다. 네가 사용할 수있는'FragmentTransaction'을 제공 받았다. 하나는 네이티브 API 레벨 11 프래그먼트이다. 그 'FragmentTransaction'을 사용할 필요는 없습니다. 백 포트에서 자신의'FragmentTransaction'을 사용하거나 조각을 전혀 사용하지 않는 다른 작업을 할 수 있습니다. – CommonsWare

+0

오 이런 설명입니다. 나는 모든 지원 부분을 원래의 원인으로 바꿨다. ICS를 더 이상 지원하지 않을 것이고, 여전히 지원을 사용해야 할 것 같다. <_ < –

0

사용해보기 android.support.v4.app.Fragment