gpt4 book ai didi

java - 防止 ActionBar 后退按钮重新创建 MainActivity

转载 作者:行者123 更新时间:2023-12-02 04:15:21 25 4
gpt4 key购买 nike

如何防止我的 SecondActivityActionBar 后退按钮(我们会说 ABBB)重新创建 MainActivity点击时?

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

但是,当用户单击“确定”按钮或按物理后退按钮时,没有任何问题,因为我使用的是 finish();

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

如果我使用此代码...:

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

...存在同样的问题,因为我猜这个方法是在“Android 代码”之后调用的。

如何完全覆盖 Android ABBB 的单击代码以将其设置为仅调用 finish();

最佳答案

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

话虽这么说,如果您需要的只是在按下 ABBB 时 finish() Activity ,那么上面显示的代码应该可以正常工作(尽管您需要将 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 现在会模仿您设备的后退按钮。

关于java - 防止 ActionBar 后退按钮重新创建 MainActivity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33376839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com