Ich entwickle App mit Android: minSdkVersion="11". Soweit ich weiß, ist ViewPager in der Kompatibilitätsbibliothek implementiert. Ich habe es geschafft, es in meiner Anwendung funktionieren zu lassen, indem ich android-support-v4.jar-Bibliothek hinzufüge, aber jetzt bin ich verpflichtet,
zu verwendenandroid.support.v4.app.FragmentActivity
, weil ich getSupportFragmentManager () für FragmentPagerAdapter anstelle von getFragmentManager () von android.app.Activity benötige.
Ich muss auch
verwendenandroid.support.v4.app.Fragment
statt
android.app.Fragment
Es funktioniert aber, ich mag diesen Ansatz definitiv nicht. Es zerstört das Design der App und ich möchte die Compatibility Library in meinem API Level 11-Projekt überhaupt nicht haben.
Gibt es andere native Möglichkeiten, ViewPager in Honeycomb + Apps zu verwenden?
Zu der Zeit, als die akzeptierte Antwort angegeben wurde, war dies möglicherweise nicht der Fall, aber es gibt import android.support.v13.app.FragmentStatePagerAdapter;
in der Beispielcode . Wenn Sie die support-v13-Bibliothek verwenden, übernimmt der Konstruktor eine nicht unterstützte Version von FragmentManager
. Beachten Sie, dass das ViewPager
immer noch von v4 kommen muss.
Ich füge hinzu, dass v4 eine Support-Bibliothek für Android Version 4+ (Donut 1.6) bedeutet, und v13 bedeutet Support-Bibliothek für Android Version 13+ (Honeycomb 3.2). Eine Tatsache, die mir zumindest nicht sofort klar war. Dies bedeutet, dass die APIs, die in v4 / v13 verwendet werden, mit diesem Punkt kompatibel sind.
Kopieren Sie FragmentPagerAdapter
in Ihren Code und ändern Sie ihn, um android.app.Fragment
usw. zu verwenden. Oder implementieren Sie Ihr eigenes PagerAdapter
selbst, es hängt nicht von Fragmenten ab.
Tags und Links android android-3.0-honeycomb android-viewpager