1
我有幾個由活動維護的片段。該應用程序從「首頁」片段開始,當我轉到「片段A」,然後轉到設置活動並從設置活動中按回來時,「片段A」被替換爲「首頁」片段。如何保留「片段A」的狀態並在從「設置」活動返回時保持抽屜打開?從活動返回後保留片段
爲了便於說明,我想回到我發起活動的片段,在這種情況下是設置活動,而不是回到'Home'片段。任何幫助將不勝感激,謝謝!
這裏是我的抽屜代碼:
if (id == R.id.fragOne) {
fragment1 = new FragmentOne();
android.support.v4.app.FragmentManager fragmentManager1 = getSupportFragmentManager();
fragmentManager1.beginTransaction()
.replace(R.id.container, fragment1, "frag1")
.commit();
} else if (id == R.id.fragTwo) {
fragment6 = new fragmentTwo();
android.support.v4.app.FragmentManager fragmentManager2 = getSupportFragmentManager();
fragmentManager2.beginTransaction()
.replace(R.id.container, fragment2, "frag2")
.commit();
} else if(id == R.id.helpDrawer){
Intent drawerHelp = new Intent(MainActivity.this, Help.class);
startActivity(drawerHelp);
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer != null) {
drawer.closeDrawer(GravityCompat.START);
}
return true;
你是如何回到碎片從活動? – Sanoop
我正在按活動中的後退按鈕返回到片段。在我的主要活動中,我重寫了後退按鈕以查看抽屜是否如此打開.. @Override public void onBackPressed(){ DrawerLayout drawer =(DrawerLayout)findViewById(R.id.drawer_layout); (抽屜!=空){(drawer.isDrawerOpen(GravityCompat.START)){ drawer.closeDrawer(GravityCompat.START); } else { super.onBackPressed(); } } } –
你嘗試過'supportFinishAfterTransition();'? – Sanoop