Android - Simulate Back Button

后端 未结 5 1790
北荒
北荒 2021-02-01 11:57

When i press a button in my app, I need to return to the last activity.

Any ideas?

5条回答
  •  借酒劲吻你
    2021-02-01 12:32

    This is for a situation where the same fragment may sometimes be the only fragment in an activity, and sometimes part of a multi-fragment activity, for example on a tablet where two fragments are visible at the same time.

    /**
     * Method that can be used by a fragment that has been started by MainFragment to terminate
     * itself. There is some controversy as to whether a fragment should remove itself from the back
     * stack, or if that is a violation of the Android design specs for fragments. See here:
     * http://stackoverflow.com/questions/5901298/how-to-get-a-fragment-to-remove-itself-i-e-its-equivalent-of-finish
     */
    public static void fragmentImplementCancel(Fragment fragment) {
    
        FragmentActivity fragmentActivity = fragment.getActivity();
        FragmentManager fragmentManager = fragmentActivity.getSupportFragmentManager();
    
        if (fragmentManager.getBackStackEntryCount() == 1) {
            fragmentManager.popBackStack();
        }
        else {
            fragmentActivity.finish();
        }
    }
    

    This code can be called to implement a Cancel button, for example.

        if (theButton.getId() == R.id.btnStatusCancel) {
            StaticMethods.fragmentImplementCancel(this);
        }
    

提交回复
热议问题