4

我有一個典型的應用程序。一個有FrameLayout的活動,在這個佈局中,我想在片段之間切換。這通常,輕鬆地完成:片段使用AppCompatActivity或FragmentActivity時事務不起作用

getFragmentManager().beginTransaction() 
       .replace(R.id.ac_container, new FrOverview()) 
       .addToBackStack(null) 
       .commit(); 

的問題是,即使我用.addToBackStack(null)(我知道它已經增加了「導致堆棧數增加),當我壓回我退出應用程序。我一直在嘗試很多不同的代碼,並且在Stackoverflow上檢查了大多數線程,但是我無法讓它與代碼(方法調用等)一起工作。

但是!我可以通過更改我的活動課的擴展類來實現它。如果我的課程延伸到Activity,它可以正常工作。但是,如果我使用AppCompatActivity(其又擴展了FragmentActivity),那麼它具有如前所述的不良行爲。

這樣的感覺必須是Android的一部分的錯誤,我沒有做任何錯誤的我的知識。

有沒有人有任何建議如何解決這個問題?即獲得後端功能並保持ActionBar!

+1

使用'getSupportedFragmentManager'使片段交易和改變你的片段延伸到'android.support.v4.app.Fragment' – Pravin

+0

FrOverview()是android.support.v4.app.Fragment類型或android.app.Fragment類型。 – Akash

回答

11

AppCompatActivity使用SupportFragmentManager,你需要 切換到SupportFragment和SupportFragmentManager

+0

然後又需要我從支持庫中將'Fragments'更改爲'android.support.v4.app.Fragment'; 謝謝! – Yokich

相關問題