Ich bin sehr neu in Android und versuchen, meine iPhone-App auf Android zu konvertieren. Ich versuche, zwischen Fragmenten zu navigieren, und nachdem ich von Fragment A nach B navigiert habe, möchte ich mit dem Zurück-Knopf von Fragment B nach A zurückkehren. Ich habe Nachforschungen angestellt, konnte es aber nicht gut verstehen. Unten im Code habe ich eine Navigationsleiste, in der ich zwischen Fragmenten navigiere. Nachdem ich Follower angeklickt habe, möchte ich mit dem Zurück-Button zum News-Feed zurückkehren.popBackStack und addToBackStack in Android
//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
Vielen Dank JpCrow, es funktionierte :) was ist, wenn ich die Zurück-Taste deaktivieren möchten wenn ich im news_freed-Fragment bin, das im "on create" -Teil erstellt wurde, das Startfragment? – saner
In diesem Fall sollten Sie die onBackPressed() überschreiben und nicht die super.onBackPressed(); Nur in diesem Fall sollten Sie eine Flagge oder etwas hinzufügen – JpCrow