2011-11-08 2 views
7

android : minSdkVersion = "11"인 앱을 개발 중입니다. 내가 아는 바로는, ViewPager는 호환성 라이브러리 내에서 구현됩니다. 나는 안드로이드 지원-v4.jar 라이브러리를 추가하여 내 응용 프로그램에서 작동하도록 성공,하지만 지금은 때문에android.app.Fragment with ViewPager with Android 3.0+

android.support.v4.app.FragmentActivity

를 사용하는 것이 의무입니다 새로운 android.app.Activity의 getFragmentManager() 대신 FragmentPagerAdapter에 getSupportFragmentManager()가 필요합니다.

또한 나는

에게

대신 그것을 android.app.Fragment

android.support.v4.app.Fragment를 사용할 필요가 그래도 작동, 나는 확실히이 접근 방식을 좋아하지 않아. 그것은 애플 리케이션의 디자인을 파괴하고, 내 API 레벨 11 프로젝트에 Compatibility Library를 갖고 싶지 않습니다.

Honeycomb + 앱에서 ViewPager를 사용하는 다른 기본 방법이 있습니까?

+0

수용 할 수있는 대답은'v13'이 릴리스되었습니다. [change] (http://stackoverflow.com/a/16067755/1747491). – theblang

답변

13

허용 된 대답이 명시된 당시의 경우는 아니지만 sample codeimport android.support.v13.app.FragmentStatePagerAdapter;이 있습니다. support-v13 라이브러리를 사용하는 경우 생성자는 FragmentManager의 지원되지 않는 버전을 사용합니다. ViewPager은 여전히 ​​v4에서 제공되어야합니다.

또한 v4는 Android 버전 4+ (도넛 1.6) 용 지원 라이브러리를 의미하고 v13은 Android 버전 13+ (Honeycomb 3.2) 용 지원 라이브러리를 의미합니다. 적어도 그것은 나에게 즉시 명백하지 않았던 바로 그 사실. 의미는 v4/v13에서 사용 된 API가 해당 시점과 호환되고 버전으로 돌아가는 것을 의미합니다.

7

코드에 FragmentPagerAdapter을 복사하고 android.app.Fragment 등을 사용하도록 수정하십시오. 또는 자신 만의 PagerAdapter을 구현하면 조각에 전혀 의존하지 않습니다.

+0

내 앱에서 수정 한 후에 ViewPager 코드를 사용할 수 있다는 것을 의미합니까? Compatibility Library의 출처는 어디서 얻을 수 있습니까? 허니 콤을위한 유일한 방법일까요? 원주민이든 보편이든간에? – morphium

+0

다운로드에 소스가 포함되어 있습니다. SDK 관리자에서 설치 한 경우 $ SDK_ROOT/extras/android/compatibility/v4/src에 있습니다. '네이티브 또는 유니버설 '이 무엇을 의미하는지 모르지만'ViewPager'는 안드로이드 SDK의 일부가 아니므로 라이브러리 (jar) 나 소스 형태로 프로젝트에 추가해야합니다. –

+0

FragmentPagerAdapter를 복사하여 android.app.Fragment와 함께 작동하게했습니다. 그러나이 방법은 여전히 ​​android-support-v4.jar 라이브러리를 사용해야한다고 가정합니다. 그것은 정상적인 접근입니까? – morphium