【问题标题】:Android back-button working but back via home button not working perfectlyAndroid后退按钮工作但通过主页按钮返回无法正常工作
【发布时间】:2015-04-23 04:15:31
【问题描述】:

我有一个包含一些数据的回收站视图。单击项目时,会打开新的DetailsActivity。 我的麻烦是当它从DetailsActivity 回到MainActivity 并且后退按钮(在 Natel 上)运行良好时。但是当我通过主页按钮扩展ActionBarActivity 回来时,重新从头开始加载数据。我想要与下面 Natel 中的后退按钮完全相同的返回。 有人有想法吗?

onOptionsItemSelected 方法中的返回代码:

if (id == android.R.id.home) {
Intent homeIntent = new Intent(this, ActivityMain.class);
homeIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(homeIntent);

// NavUtils.navigateUpFromSameTask(this); // also tried
}

【问题讨论】:

    标签: android android-recyclerview android-actionbaractivity


    【解决方案1】:

    如果我理解正确,不要重新开始活动,只需在您当前的活动上调用 finish()

    基本上,当您单击一个项目时,您正在调用以下正确(或类似的内容)?

    startActivity(new Intent(this, DetailsActivity.class);
    

    如果是这样,那么一旦您进入您的Detailsactivity,只需致电:

    if (id == android.R.id.home) {
        finish();
    }
    

    这将完成显示在您的MainActivity 上方的Detailsactivity,并将您返回到您所在的位置。

    【讨论】:

    • 您好 Zamereon,非常感谢您的回答。但它仍然无法正常工作。我也想回到我所在的地方。它与设备上的后退按钮一起使用。使用代码它不起作用.. :(
    • 设备上的物理后退按钮中的后退按钮正确吗?如果是这样,那么在 if(id == android.R.id.home) 部分中调用 onBackPressed() 将调用物理按钮正在使用的确切方法。
    • 感谢 Zamereon。它正在使用 onBackPressed();
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-09
    相关资源
    最近更新 更多