Android AppCompat PreferenceActivity - 没有 subcategories/headers 的平面设置列表

Android AppCompatPreferenceActivity - flat settings list without subcategories/headers

我已将 SettingsActivity 添加到我的项目中。默认情况下,Android Studio 使用 3 个 headers 创建了 3 个类别。当我点击类别时,会出现新设置屏幕。 我不想要那个。我的应用程序的设置选项非常有限,所以我只想获得平面设置列表,没有任何 headers 和类别。

我发现的内容无效或已弃用 api。你能告诉我正确的、有效的方向如何在不使用任何已弃用的情况下实现平面设置屏幕吗?api?

SettingActivityonCreate() 方法中添加通用片段并在 GeneralPreferenceFragment

中进行任何您喜欢的更改
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setupActionBar();
        this.getFragmentManager().beginTransaction().replace(android.R.id.content, new GeneralPreferenceFragment()).commit();
    }

并像这样覆盖 GeneralPreferenceFragment 中的 onOptionItemSelected

    public static class GeneralPreferenceFragment extends PreferenceFragment {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            addPreferencesFromResource(R.xml.pref_general);
            setHasOptionsMenu(true);

            // Bind the summaries of EditText/List/Dialog/Ringtone preferences
            // to their values. When their values change, their summaries are
            // updated to reflect the new value, per the Android Design
            // guidelines.
            bindPreferenceSummaryToValue(findPreference("your_key"));
        }

        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            int id = item.getItemId();
            if (id == android.R.id.home) {
                getActivity().onBackPressed();
            }
            return super.onOptionsItemSelected(item);
          }
}