我遇到一個奇怪的問題,同時使用Fragments並彈出它們。Fragment PopBackStack
我有一個片段活動:
第一步:我在名爲片段A的啓動將一個片段,該活動的OnCreate爲:
這是片段的的onCreate活動
@Override
protected void onCreate(Bundle savedBundleState) {
super.onCreate(savedBundleState);
setContentView(R.layout.activity_base_new);
Fragement_Home home = new Fragement_Home();
FragmentManager manager = getSupportFragmentManager();
manager.beginTransaction().add(R.id.frameContent, home).addToBackStack("home").commit();
}
步驟:2之後我已添加替換片段用下面的代碼:
Fragment_More moreFragment = new Fragment_More();
FragmentManager manager = getSupportFragmentManager();
manager.beginTransaction().replace(R.id.frameContent, moreFragment).addToBackStack("more").commit();
第3步:在那之後,我再次以同樣的方式增加了一個片段上Fragment_More:
Fragment_AboutRockstand termsConditions = new Fragment_AboutRockstand();
getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.frameContent, termsConditions).addToBackStack("about_rockstand").commit();
,這裏是我的碎片的活動onBackPressedButton Lisetener:
@Override
public void onBackPressed() {
FragmentManager fm = getSupportFragmentManager();
Fragment f = fm.findFragmentById(R.id.frameContent);
if(fm.getBackStackEntryCount() > 1){
fm.popBackStack();
} else{
finish();
}
}
這是問題所在我得到:
當我從步驟3回來,它給了我以前的片段成功,如上所述BackPressed,它會彈出窗口並將我帶到以前的片段。但是從Fragment_More,當我再次按下時,它會顯示空白的FRAGMENT內容。它從不顯示我在活動的OnCreate的第1步添加的第一個片段。
請評論。我做錯了什麼?
感謝
您能否爲我們提供您使用的片段的片段類? – 2014-09-22 13:56:29
我實際上看不到任何錯誤,實際上我已經複製了你描述的內容(儘可能多),它工作正常。我猜你的代碼中有些東西沒有顯示出來..我注意到你正在改變另一個片段內的活動片段,這可能導致麻煩(你可能想要考慮從你的活動中使用一個監聽器)。 – 2014-09-23 09:19:17
檢查這個http://stackoverflow.com/questions/32132623/onback-pressed-data-not-showing-in-fragments – 2016-01-04 10:56:29