阻止ActionBar返回按钮以重新创建MainActivity



单击时,如何阻止我的SecondActivityActionBar后退按钮(我们要说ABBB)重新创建MainActivity

我在MainActivity中有一个ListView,可以使用SecondActivity进行编辑。问题是,当用户按下ABBB时,ListView会重置为默认值。。。

然而,当用户点击我的OK按钮或按下物理后退按钮时,没有任何问题,因为我使用的是finish();

@Override
public void onBackPressed() {
    finish();
}

如果我使用此代码…:

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

也有同样的问题,因为,我想,这个方法在"Android的代码"之后被称为

我如何才能完全覆盖Android ABBB的点击代码,将其设置为只调用finish();

理想的情况是,当你处于SecondActivity(我认为这意味着你处于编辑模式)时,按下设备后退按钮或ABBB,你会向用户显示一个微妙的警告,说"他们真的想取消编辑吗",或者继续应用联系人应用程序中完成的编辑。

话虽如此,如果您所需要的只是在按下ABBB时finish()活动,那么上面显示的代码应该可以正常工作(尽管您需要将return true;放在finish()之后)。它对我有用。试试下面的activity

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            onBackPressed(); // or finish();
            return true;
    }
    return super.onOptionsItemSelected(item);
}

我放onBackPressed();是因为你的ABBB现在模仿你的设备后退按钮。

或者,您可以将父活动的启动模式设置为-

android:launchMode="singleTop"

这将在不改变任何事情的情况下完成所有任务。

参考

相关内容

最新更新