当我按我的应用程序中的按钮时,我需要返回上一个活动。
有任何想法吗?
Answers:
finish()从您要结束的活动中进行呼叫应注意这一点。
多年后编辑:仍然有效,但这有点笨拙。当我最初发布此内容时,它Fragments不存在,并且(如几位评论者所指出的那样)Fragments涉及此内容时,它的工作方式也不尽相同。如果您正在使用,现在有更好的方法Fragments.
使用片段时:
getFragmentManager().popBackStack();
要么
getSupportFragmentManager().popBackStack();
如果您使用的是android.support.v4.app软件包
这适用于以下情况:同一片段有时可能是一个活动中的唯一片段,有时甚至是多片段活动的一部分,例如在同时可见两个片段的平板电脑上。
/**
 * 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();
    }
}
例如,可以调用此代码来实现“取消”按钮。
    if (theButton.getId() == R.id.btnStatusCancel) {
        StaticMethods.fragmentImplementCancel(this);
    }
您可以欺骗按下后退按钮的向上按钮通话:
@Override
public void onBackPressed() {
    onNavigateUp();
}