私はAndroidで非常に新しいですし、私のiPhoneアプリをAndroidに変換しようとしています。私は断片間を行き来しようとします、断片AからBにナビゲートした後、私は断片Bから戻るボタンでAに戻りたいと思います。私は研究をしましたが、それをよく理解できませんでした。コードの下に私は断片間を移動するナビゲーションドロワを持っています。フォロワーをクリックした後、私は戻るボタンでニュースフィードに戻っていきたいです。AndroidでのpopBackStackとaddToBackStack
//this is the navigation drawer part
if (id == R.id.my_archive_drawer) {
myArchiveFragment fragment = new myArchiveFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.addToBackStack("newsFeedFragment");
fragmentTransaction.commit();
} else if (id == R.id.followers_drawer) {
followedFollowersFragment fragment = new followedFollowersFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.addToBackStack("newsFeedFragment");
fragmentTransaction.commit();
}
//this is the navigation drawer part
//this is the on create part part
newsFeedFragment fragment = new newsFeedFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
//this is the on create part part
//onbackpreseed part
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
getFragmentManager().popBackStack("newsFeedFragment");
}
}
//onbackpressed part
を読むことができます。この2つの方法の詳細については
:だからonBackPressed()このようにする必要があります私が "作成中"の部分で作成されたnews_freedフラグメントに入っているとき、開始フラグメント? – saner
その場合は、onBackPressed()をオーバーライドし、super.onBackPressed()をコールしないでください。その場合にのみ、フラグなどを追加する必要があります – JpCrow