工具栏后退按钮和onBackPressed方法之间的区别

时间:2018-11-10 07:14:22

标签: java android android-toolbar back-button

我有一个包含多个活动的应用程序。一个示例就是我的MainActivity,它显示项目列表,您可以从中打开某些项目的“详细”概述。

单击一个项目将其打开后,我将打开另一个活动

final Intent intent = new Intent(getApplicationContext(), AddActivity.class);
getApplicationContext().startActivity(intent);

活动在其工具栏中打开后,我将具有一个后退按钮。我猜该按钮是开箱即用的,因为我正在使用android.support.v7.widget.Toolbar

如果在MainActivity上我滚动到列表中很远,然后决定打开一个新活动,然后在该新活动上单击工具栏的后退按钮,我返回到MainActivity,但刷新了(其OnCreate方法被调用)。

如果我打开第二个活动,并且它有一个执行某些操作的按钮,最后,您返回到MainActivity,从扩展的onBackPressed()调用FragmentActivity(扩展AppCompatActivity ),它将使您返回到MainActivity,但无需进行任何刷新,就可以继续您停止的地方。

我的问题是,是否可以用这种onBackPressed()的行为替换工具栏后退按钮的当前行为?

2 个答案:

答案 0 :(得分:0)

我成功了。我要做的就是重写onSupportNavigateUp,以便在两个按钮上都具有相同的行为。

@Override
public boolean onSupportNavigateUp() {
    onBackPressed(); // one inherited from android.support.v4.app.FragmentActivity

    return false;
}

答案 1 :(得分:0)

简单地,您可以覆盖onbackPressed方法,并在单击工具栏的后退按钮时调用该方法。

@Override
public void onBackPressed() {
   super.onBackPressed()
}
点击该按钮时

调用此按钮。