2016-03-20 7 views
0

Meine Aktivität sollte von einer anderen Aktivität erben (einer anderen Bibliothek, auf die ich keinen Zugriff habe), und ich muss ActionBar + Fragments in meine neue Aktivität integrieren. Ich habe die Actionbar erfolgreich mit AppCompatDelegate integriert.AppcompatDelegate getSupportFragmentManager()

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    //the installViewFactory method replaces the default widgets 
    //with the AppCompat-tinted versions 
    getDelegate().installViewFactory(); 

    super.onCreate(savedInstanceState); 

    getDelegate().onCreate(savedInstanceState); 

    getDelegate().setContentView(R.layout.activity_profile); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    getDelegate().setSupportActionBar(toolbar); 
    getDelegate().getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    ... 
} 

private AppCompatDelegate getDelegate() { 
    if (mDelegate == null) { 
     mDelegate = AppCompatDelegate.create(this, null); 
    } 
    return mDelegate; 
} 

Die Frage ist, wie Fragmente in dieser Aktivität zu verwenden, die von android.app.Activity erstreckt?

Hinweis: Es ist kein FragmentActivity!

Antwort

0

Wenn android.app.Activity ist Ihre einzige echte Superklasse zu arbeiten, ich denke, Sie müssen die Plattformfragmente (Unterklassen von android.app.Fragment) und nicht die compat Bibliothek Fragmente verwenden, und es wird nur Arbeit mit API 11 und später, als sie eingeführt wurden. getFragmentManager() ist Ihr Einstiegspunkt dazu.

+0

Dank Doug, Dies ist die Backup-Lösung, die ich nicht implementieren will. Die Appcompat hat viele andere Funktionen wie Tönung und viele andere. Ich kann jedoch keine anderen Lösungen sehen :( –

Verwandte Themen