フラグメントの状態を保存したいので、フラグメント.add()とフラグメント.show()メソッドを使用します。私は私のmainActivityにフラグメントを追加するために使用 部分はフラグメントに押され、バックにはonBackPressed withフラグメントと保存するフラグメントの状態
android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.main_content, fragment, CURRENT_TAG);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
であり、タグが戻ることでそれに戻って取得するフラグメントを得ることの状態をonBackPressedが
if (getSupportFragmentManager().findFragmentByTag(CURRENT_TAG) != null) {
drawerLayout.closeDrawers();
Runnable mPendingRunnable = new Runnable() {
@Override
public void run() {
android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out);
hideTransactions(CURRENT_TAG);
fragmentTransaction.show(getSupportFragmentManager().findFragmentByTag(CURRENT_TAG)).commit();
}
};
をゼロ断片は、T IN、
@Override
public void onBackPressed() {
if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
drawerLayout.closeDrawers();
return;
}
if (CURRENT_TAG == TAG_HOME) {
return;
}
navItemIndex = 0;
TAG_PREV = CURRENT_TAG;
CURRENT_TAG = TAG_HOME;
loadHomeFragment();
super.onBackPressed();
}
フラグメント状態を保存しますか?またはあなたが欲しい何か他のもの? –
フラグメント全体を保存したいので、見つけたらfragment.add()をもう一度使用します。fragment.show()を使用します –
フラグメントを追加しないのはなぜですか?これには理由がありますか? –