gpt4 book ai didi

java - Android 后退按钮不返回到上一个 Activity

转载 作者:搜寻专家 更新时间:2023-10-30 21:36:41 26 4
gpt4 key购买 nike

我的应用有两个 Activity :MainActivity 和 SettingsActivity。 MainActivity 有一个带有单个设置菜单项的菜单。单击此菜单项时,它会启动带有 Intent 的 SettingsActivity。 Activity 启动后,我单击左上角的后退按钮,但没有任何反应。我假设自从我使用 Intent 启动 Activity 后, Activity 堆栈将自动管理。我想返回到 MainActivity。我这个假设错了吗?

MainActivity.onMenuItemSelected

public boolean onMenuItemSelected(int featureId, MenuItem item) {
int itemID = item.getItemId();

if(itemID == R.id.settings) {
Intent intent = new Intent(this, SettingsActivity.class);
startActivity(intent);
}

return true;
}

设置 Activity

public class SettingsActivity extends PreferenceActivity {

public static final String TEST = "test";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}

最佳答案

在您的 SettingsActivity 中,您需要覆盖 onOptionsItemSelected 以启用操作栏左上角的后退按钮以返回。它自己并不知道点击时需要做什么。在 android.R.id.home 案例中,您可以调用 finish()。这将完成您当前的 Activity ,您将返回到启动它的 MainActivity。例如:

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

为了完整起见,要启用主页按钮,您可以在 SettingsActivityonCreate() 中添加以下内容:

getActionBar().setDisplayHomeAsUpEnabled(true);

根据 setDisplayHomeAsUpEnabled() 的文档

它是为了向用户表明选择主页将返回上一级而不是应用程序的顶层。

希望这对您有所帮助。

关于java - Android 后退按钮不返回到上一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17643340/

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