我有以下代码。当用户从菜单中选择“设置”时,应该创建首选项视图。它会这样做,但是当用户选择“设置”时,设置菜单会显示在我的默认视图之上,就像它具有透明背景一样。创建设置菜单时,我已经包含了它的样子。
正如您所看到的,我的默认视图是空白的,除了屏幕中间的“大文本”,但首选项菜单只显示在它上面。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.menu_settings:
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new SettingsMenu())
.addToBackStack(null)
.commit();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
我该如何解决这个问题?
答案 0 :(得分:3)
通常,您应该开始一项新活动,而不是直接向您的活动添加我认为是PreferenceFragment
的活动。
或者,您应该将现有的UI(“大文本”)放在通过replace()
调用替换的片段中。就目前而言,您现有的UI似乎不在片段中,或者至少没有标识为android.R.id.content
的片段。