如何使 PreferenceFragment 与 MainActivity 一起工作

How to make a PreferenceFragment work with the MainActivity

在我的 MainActivity onCreate 方法中,我有

getFragmentManager()
    .beginTransaction()
    .add(android.R.id.content, new MyPreferenceFragment())
    .commit();

这样做是将 PreferenceFragment 添加到我的应用程序的内容 ViewGroup,但它也使 MainActivity 的内容无法访问(无法再单击按钮)。

我的问题是:有没有办法让 PreferenceFragment 与 MainActivity 一起工作,以便 ActivityFragment 都可以访问?

谢谢乔恩

您可以将 Fragment 充气到容器视图中。

为此,将 ViewGroup 添加到 Activitie 的布局文件中,例如:

<FrameLayout
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

并在您的 Activity:

中使用它
getFragmentManager()
      .beginTransaction()
      .add(R.id.container, new MyPreferenceFragment())
      .commit();

现在您可以只在给定的容器中显示 Fragment 而不会覆盖 MainActivity 的布局。

getFragmentManager()
      .beginTransaction()
      .add(android.R.id.content, new MyPreferenceFragment())
      .commit();

就是这样!