Android创建没有PreferenceActivity的PreferenceFragment

时间:2015-12-06 09:22:37

标签: java android android-fragments

我在我的应用程序中添加了一个侧边菜单,我设法用片段更改内容。现在我正在尝试执行首选项,但我想要使用PreferenceActivity,因为我想用片段来处理我的应用程序因为我不想要做两次NavigationDrawer(我的主要活动显示片段和PreferenceActivity)。 我找到了类PreferenceFragment,但经过大量的研究后我发现它只是SettingsActivity的一部分,当我在PreferenceFragment中尝试addPreferenceFromResouce然后启动片段时,它会崩溃。 / p>

所以基本上我试图找到一种方法来显示一个没有任何额外活动的SettingsFragment只需调用fragmentManager.beginTransaction().replace(R.id.contentFrame, settingsFragment).commit(),就像我对不同的片段一样。

我希望我的问题可以理解(如果我没有,我很抱歉)。感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:1)

我现在自己找到了解决方案。这不是很难。 我只是创建了一个普通的PreferenceFragment,您可以像没有PreferenceActivity的任何其他片段一样使用它。

public class PreferenceFragment extends android.preference.PreferenceFragment {

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

然后我用

替换它
getFragmentManager().beginTransaction().replace(R.id.contentFrame, preferenceFragment).commit();
像往常一样。

这对我很有用。我希望它也适合你。