专家非常简单,但我不知道如何搜索它。所以我的问题是
按下后退箭头时会创建哪种方法(不是菜单/软后退按钮)转到主页/父级活动? 我说的是绿色圆圈按钮而不是红色圆圈按钮
是onStop()
,onPause()
还是onRestart()
??
我对所有人感到困惑,虽然我已经阅读过该方法,但我无法将其与我的项目联系起来。
基本上A活动的用户执行某项任务,当用户返回父活动然后再执行一些其他任务时,再次进入A活动,那么某些任务也必须执行?
那么哪种方法适合?
答案 0 :(得分:2)
修改强>
OP编辑了问题
所以它是关于“Action Bar后退按钮有什么区别 和导航后退按钮“
ActionBar“后退”按钮(绿色圆圈)是一个"Up"
按钮,它会将您带到应用程序导航层次结构的一个级别。
后退按钮(红色圆圈)将您带到您所在的最后一个位置。
所以,每当你按下按钮(< Up)时,当前的活动就会被破坏,onDestroy
被调用,onCreate
将被调用来进行堆栈活动。
请参阅此链接以获取更多信息: http://developer.android.com/design/patterns/navigation.html
按下后退按钮后,按顺序调用以下方法。
onPause()
onStop()
onDestroy() //Activity destroyed.
启动活动时会调用这些方法。
onCreate()
onStart()
onResume()
有关详细信息,请参阅:
https://developer.android.com/guide/components/activities/activity-lifecycle.html
答案 1 :(得分:0)
听起来很明显,当按下后退按钮时调用的方法是onBackPressed()
:
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
由于我的Activity实现了一个导航抽屉,它确实对它进行了管理,如果它已打开,你按下后退按钮,它将关闭
然后,当活动结束时,会调用onPause()
和onStop()
方法。
当再次恢复活动时,将调用onResume()
方法
答案 2 :(得分:0)
按下后退按钮时将调用的生命周期方法
的onPause()
的onStop()
因此,当前的活动仍将处于堆叠状态,但它已被清除。 因此,如果用户转到活动,它将调用onRestart()方法。