4

我正在尝试使用 PreferenceFragment 而不是 PreferenceActivity,因为我不喜欢在我的代码中使用“弃用”这个词。

我已经建立了我的首选项布局和 PreferenceFragment 类都可以。现在我只需要在用户单击菜单中的“设置”时启动它。显然,我希望他们为此被带到一个新的页面。使用 PreferenceActivity,这很容易 - 只需使用 Intent 调用 startActivity。

使用 PreferenceFragment,我必须创建一个新 Activity,然后在其中设置首选项。如果我只是在我当前的活动中替换(android.R.id.content,片段),片段会与 setContentView() 中设置的当前布局重叠或重叠。这似乎只是为了显示一个简单的设置片段而做的大量工作。如果我要创建一个新的活动来保存片段,我不妨先使用 PreferenceActivity。

那么我在这里错过了什么吗?我要做的就是在新屏幕中显示我漂亮的 PreferenceFragment。没有简单的方法来做到这一点?

4

1 回答 1

0

您可以将整个主布局设置为框架布局,而不是在其中硬编码片段。

这将使您可以毫无问题地交换片段。

我一直认为在 XML 中硬编码片段违背了片段的性质和目的。

于 2012-06-01T01:49:41.513 回答