代码之家  ›  专栏  ›  技术社区  ›  mirzak

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

  •  0
  • mirzak  · 技术社区  · 6 年前

    我有一个有多个活动的应用程序。一个例子是我的 MainActivity 显示项目列表,从中可以打开特定项目的“详细信息”概述。

    一旦单击一个项目打开它,我就会打开另一个类似这样的活动

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

    android.support.v7.widget.Toolbar .

    万一在哪 主要活动 我已经在列表中滚动了很长一段时间,然后决定打开一个新活动,在该新活动上,我单击工具栏上的“后退”按钮,我将返回 但是它被刷新了(它的OnCreate方法被调用)。

    如果我打开第二个activity,它有一个按钮执行某些操作,最后返回到MainActivity调用 onBackPressed() FragmentActivity 扩展(通过扩展) AppCompatActivity ),它会让你回到 但是,如果没有任何刷新,您将能够继续您停止的地方。

    onBackPressed()

    2 回复  |  直到 6 年前
        1
  •  0
  •   mirzak    6 年前

    我已经成功了。我所需要做的就是重写 onSupportNavigateUp 以便在两个按钮上获得相同的行为。

    @Override
    public boolean onSupportNavigateUp() {
        onBackPressed(); // one inherited from android.support.v4.app.FragmentActivity
    
        return false;
    }
    
        2
  •  0
  •   PushpikaWan    6 年前

    只需重写onbackPressed方法,并在单击工具栏后退按钮时调用该方法。

    @Override
    public void onBackPressed() {
       super.onBackPressed()
    }
    

    当那个按钮点击时调用这个。