当前位置: 首页 > 知识库问答 >
问题:

Android Actionbar向上按钮与系统后退按钮

端木朝
2023-03-14

我正在使用Actionbar和它的“up”按钮从一个细节活动返回到主活动,这很好。类似地,用户可以按系统“后退”按钮返回到主活动。

在我的主要活动中,在onCreate()中,从internet下载数据,以便在应用程序启动时显示。我注意到,当我使用Actionbar“up”按钮从细节转到主要活动时,onCreate()运行,重新下载数据。但是当我使用系统“后退”按钮时,onCreate()没有运行,因此立即显示主活动视图。

我在详细信息活动中用于实现“向上”按钮的代码是:

switch (item.getItemId()) {
   case android.R.id.home:
      Intent intent = new Intent(this, MainActivity.class);
      intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
      startActivity(intent);
      return true;

我希望“up”按钮的行为与“back”按钮类似,并且不重新运行onCreate()。但我不确定如何实现这一点,也不确定“后退”按钮实现了哪个代码路径以返回到主活动。

谢谢

共有1个答案

越麒
2023-03-14

不要开始一个全新的活动,只需完成您所参与的详细活动即可

switch (item.getItemId()) {
   case android.R.id.home:
      finish();
      return true;

然后,您将返回到活动堆栈上的上一个活动(您的主活动),并且不应调用onCreate

 类似资料:
  • 我正在使用android导航组件库。我用导航图设置了两个片段。我想在我的片段内按下后退按钮时做一些额外的动作。 我使用这段代码来处理工具栏上的按钮点击,但我也想处理后退按钮按下。我该怎么做?

  • 我对libGDX有一个问题,当我用后退按钮退出后恢复应用程序时,只有一个白色屏幕。 实际应用运行,接受触摸输入,播放声音,但屏幕只是白色。 我读过保持对纹理的静态引用可能会导致这个问题,但我没有这样做。 下面是我的资产代码如何工作的简化版本。 在按下后退按钮后返回应用程序时,重新创建AssetManager,重新打开SplashScreen(为白色),并更新AssetManager直到重新加载所有

  • 我正在尝试在上显示一个以将上一页/活动移动到主页面(第一次打开)。我做不到。 我的代码。 代码在中。

  • 我想知道,当您使用转到另一个页面时,是否有人知道如何删除flutter应用程序中上显示的后退按钮。我不希望它出现在这个结果页面上的原因是它来自导航,我希望用户使用按钮,以便会话重新开始。

  • 我正在使用android 2.1,希望在Mapsavity上添加一个后退按钮。我在这一页上尝试了什么[在操作栏上显示后退按钮,但应用程序崩溃。我已经按照另一个论坛的建议将extends FragmentActivity替换为AppCompatActivity,但应用程序仍然崩溃。我知道这与操作栏有关,因为如果我删除它,应用程序就会工作。操作栏似乎为空。我被卡住了,已经启动了应用程序数次。下面是错误