活动中后退按钮和setDisplayHomeAsUpEnabled之间的差异是什么?

时间:2018-03-04 18:23:44

标签: java android android-fragments

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

  @Override
    public void onBackPressed() {
        super.onBackPressed();
         //update();
    }

1 个答案:

答案 0 :(得分:0)

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

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

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