【发布时间】:2017-02-04 14:03:49
【问题描述】:
我是 android 开发新手,遇到一个问题: 我有一个普通的选项卡 MainActivity 并从 Android Studio 的设置活动模板创建了一个 SettingsActivity。 MainActivity 是 SettingsActivity 的分层父级。
在 MainActivity.java 中启动 SettingsActivity 的代码:
Intent intent = new Intent(this, SettingsActivity.class);
startActivity(intent);
我只想拥有一个设置页面。 从 Android 指南“addPreferencesFromResource();”开始已弃用并由 Preference 标头替换。但是有了这些首选项标题,我的 MainActivity 和我的实际设置页面(在 pref_settings.xml 中定义)之间又多了一个页面 在谷歌搜索如何摆脱这个额外的页面之后,我在 onCreate 方法的 SettingsActivity.java 中提出了这个语句:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setupActionBar();
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new PillPreferenceFragment())
.commit();
}
嗯,它确实解决了我的问题。启动 SettingsActivity 时会显示 pref_settings.xml。但是后退按钮不再起作用。它总是“返回”到 SettingsActivity 而不是 MainActivity。所以这是一个无限循环。 有谁知道是什么问题以及如何解决?
我希望,我的描述是可以理解的。如果您需要任何进一步的信息,请告诉我。
提前非常感谢! :)
【问题讨论】:
-
我无法正确理解您要传达的内容,但我认为您要问的是如果用户按下后退按钮,则返回主要活动。它不会发生,因为你还没有实现反压。你有吗?
标签: java android android-fragments android-activity