2014-02-18 3 views
10

Android 지원 라이브러리 v13은 Android 3.1의 최신 API를 지원해야합니다. 그러나, 내가 말할 수있는 한, 어린이 조각에 대한 지원은 없다. 특히 getChildFragmentManager()는 어디에 있습니까? v13 지원 라이브러리는 API 레벨 17까지이 메소드를 추가하지 않은 네이티브 프래그먼트에 의존합니다. 최소 SDK 레벨 14의 앱을 보유하고 있으므로 v13 지원 라이브러리를 사용할 수 있어야하지만 그렇게 할 수없는 것 같습니다.지원 라이브러리 v13에서 getChildFragmentManager는 어디에 있습니까?

나는 v4 지원 라이브러리로 돌아가서 모든 것을 다 사용하고 싶지 않다. 그렇지 않으면 v13 라이브러리가 완벽합니다.

+2

v4 라이브러리에 대한 오해 : v12 또는 그 이상에서만 유용 할뿐만 아니라 v4와 호환됩니다. – zapl

+0

'체중'이란 무엇입니까? v13 라이브러리에는 이미 v4 라이브러리가 모두 포함되어 있으며 v14 + 메소드 만 사용하는 경우에는 몇 가지 단어 대체가 필요합니다. – ianhanniballake

+0

최소 SDK 레벨을 14로 설정하면 사용하지 않아도됩니다. –

답변

3

안드로이드 지원 라이브러리 V13은

별로 안드로이드 3.1

에서 새로운 API에 대한 지원을 제공 할 예정이다.

그러나, 지금까지 내가 말할 수있는 자녀에 대한 지원이

올바른

을 분해한다 없습니다 있습니다. Java의 외부 라이브러리에서 기존 클래스를 변경할 수 없습니다. android.app.Fragment이 이미 있으므로 라이브러리가 Fragment에 메소드를 추가 할 수 없습니다.

최소 SDK 레벨 14의 앱을 보유하고 있으므로 v13 지원 라이브러리를 사용할 수 있어야하지만 그렇지 않습니다.

중첩 된 조각을 사용할 수 없습니다. 또는 조각 백 포트를 사용하십시오. 내가 원하지 않는

다시 V4 지원 라이브러리에있는 모든 방법을 가서는

android-support-v13.jarandroid-support-v4.jar보다 큰 무게

의 모든에 걸릴 수 있습니다.

v13에 v4가 모두 포함 된 경우 그 용도는 무엇입니까? 자신의 android:minSdkVersion가 11

v13의 라이브러리 아래에 있기 때문에

그것은, 원시 조각이없는 응용 프로그램에 필요하지 않은 FragmentPagerAdapterFragmentStatePagerAdapter의 네이티브 조각 구현, 같은 몇 가지 클래스를 추가 원시 조각과 활동을 사용하지 조각을

android-support-v13.jar는 SDK에서 android.support.v13 클래스의 android.support.v4 모두와 모두 포함을 지원합니다.

+4

해명 해 주셔서 감사합니다. 그러나이 상황은 내가 생각한 것보다 더 혼란스러워 보입니다. 지원 라이브러리를 사용하는 경우 기본 조각을 사용하는 FragmentPagerAdapter가 필요한 이유는 무엇입니까? 모든 부분에 대해 지원 단편을 사용해야합니다. 그래서 여전히 v13 지원 라이브러리의 목적을 보지 못했습니다. 이것은 엉망입니다. –

+0

@GregEnnis : "지원 라이브러리를 사용하는 경우 기본 조각을 사용하는 FragmentPagerAdapter가 필요한 이유는 무엇입니까?" - 모두가 중첩 된 조각을 필요로하지는 않습니다. 중첩 된 조각이 필요없는 개체는 기본 조각 구현을 사용할 수 있습니다. * 당신 *은 중첩 된 조각을 사용하기를 원한다고 결정한 사람입니다. 그리고 그 때문에 당신은 좀 더 긴 백 포트를 사용해야합니다. – CommonsWare

+1

그럼에도 불구하고 프로 그가드가 필요없는 모든 지원 쓰레기를 최적화하기 때문에 네이티브 조각이있는 v13을 사용하는 것이 더 가볍고 SDK 14를 타게팅하는 방법이라고 생각합니다. 따라서 중첩 된 단편은 사용하지 않을 것입니다. 단, 여전히 이것이 엉망이라고 주장합니다. –

6

네이티브 프래그먼트 내에서 중첩 된 프래그먼트를 사용하려는 경우. getFragmentManager()를 사용하십시오.

지원 라이브러리 단편 내에 중첩 된 단편을 사용하려면 getChildFragmentManager()를 사용하십시오.

우연히 발견했습니다. 그것은 작동합니다. :)

+0

동의 함 - getChildFragmentManager() 메서드에서 v4 Fragment 라이브러리를 호출하면 작동합니다. – Simon

+1

fragmentPagerAdapter에서 중첩 된 조각을 사용하고 있습니다. 잘 작동합니다! 한 가지주의 사항 : 부모의 onPause() 메서드에서 중첩 된 단편을 분리해야했습니다. 그렇지 않으면 fragmentManager가 중첩 된 단편을 뷰에 삽입하려고 시도하지만 뷰가 존재하지 않게됩니다. – mcissel

+0

Google은 라이브러리 v13을 지원하기 위해 getChildFragmentManager()를 추가하는 것을 잊었습니다! –

0

당신은 v4 지원 라이브러리 조각을 사용해야합니다.그런 다음 중첩 된 단편 w/api를 사용할 수 있습니다. 14 그렇게하는 데 실제 단점은 없습니다. 이미 v3 지원 라이브러리에 포함되어 있습니다. (모두 v4를 포함합니다)

+0

v13에 getChildFragment가 포함되어 있지 않습니다! – jonney

+0

틀림 없습니다. http://developer.android.com/reference/android/support/v4/app/Fragment.html#getChildFragmentManager – dabluck

+0

해당 방법에 액세스하려면 v4가 필요합니다. – jonney