how to override action bar back button in android?

前端 未结 10 723
孤街浪徒
孤街浪徒 2020-11-30 03:40

I want to customize the activity back button in action bar, not in hard key back button. I have overriden the onBackPressed() method. It works with my emulator

10条回答
  •  南笙
    南笙 (楼主)
    2020-11-30 04:09

    If you want to return to the previous instance of an Activity by pressing of ActionBar home button, without recreating it, you can override getParentActivityIntent method to use the one from the back stack:

    @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
    @Override
    public Intent getParentActivityIntent() {
          return super.getParentActivityIntent().addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    }
    

    EDIT:
    Also you can achieve the same result by
    setting the launchMode of your parent activity to singleTop.
    So setandroid:launchMode="singleTop" to parent activity in your manifest.
    Or you can use flag FLAG_ACTIVITY_CLEAR_TOP with the UP intent.
    reference: Providing Up Navigation

提交回复
热议问题