活动中后退按钮和setDisplayHomeAsUpEnabled有什么区别?

问题描述 投票:0回答:1

我有两个活动。当活动1中的布尔变量为真时,活动2中的UI应该更新(活动2是片段)。当我使用(setDisplayHomeAsUpEnabled)回到活动2时,它可以正常工作,但是使用后退按钮它不起作用。这种方式和我如何解决这个问题有什么区别。我尝试使用此代码更新活动2,但它不起作用:

  @Override
    public void onBackPressed() {
        super.onBackPressed();
         //update();
    }
java android android-fragments
1个回答
0
投票

主页按钮的行为不像后退按钮。见this reference。 Home或“Up”按钮应该在视图层次结构中引导用户(即,如果您有多个多选片段,请不要返回每个片段,而是返回到启动第一个片段的活动)

每个活动都应指定其父活动的内容,以便正确使用此功能。您可以通过清单执行此操作,或者通过覆盖onOptionsItemSelected()按照概述here执行此操作

就使用“向上”按钮而不是后退按钮时可能更新活动2的原因而言,这可能是因为两者都以不同的方式处理后向堆栈。返回将带您到堆栈的最后一件事并恢复它,假设您没有使用改变此行为的启动模式标记活动。 Here's more info on the back stack.如果您没有将活动2指定为“singletop”,那么当您使用“向上”按钮时,将创建该父活动的新实例。 See here.这可能意味着在使用主页按钮后信息正在更新,因为它正在创建活动的新实例,而对于后退按钮 - 您不是在创建新实例而是恢复以前的实例...请确保实现onResume()函数正确处理这个并更新信息。

© www.soinside.com 2019 - 2024. All rights reserved.