Verwenden von android.app.Fragment mit ViewPager in Android 3.0+

7

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 verwenden
  

android.support.v4.app.FragmentActivity

, weil ich getSupportFragmentManager () für FragmentPagerAdapter anstelle von getFragmentManager () von android.app.Activity benötige.

Ich muss auch

verwenden
  

android.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?

    
morphium 08.11.2011, 02:18
quelle

2 Antworten

13

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.

    
Dandre Allison 17.04.2013, 18:46
quelle
7

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.

    
Nikolay Elenkov 08.11.2011 02:55
quelle