在 API 15 及更高版本中使用 PreferenceActivity

问题描述

在我的 Android 应用程序中,我想使用 PreferenceActivity 进行偏好活动,因为我正在处理 androidx 不可用的电话(PreferenceActivity 在 API 28 之前确实不会被弃用)。但是,我在几乎所有相关教程中都看到使用的基本方法 addPreferencesFromresource() 已在 API 15 中弃用。这同样适用于其他方法

如何在 API 15 到 28 中使用 PreferenceActivity?某处是否有教程或可以简要解释一下?谢谢!

解决方法

我发现了。 Here 是一些旧 API 文档的链接。我抬头看了看docs-19_r02/docs/guide/topics/ui/settings.html#Fragment

public class ActivityPreferences extends Activity {
    protected void onCreate (Bundle savedInstanceState) {
        super.onCreate (savedInstanceState);

        FragmentManager manager = getFragmentManager();
        FragmentTransaction transaction = manager.beginTransaction();
        transaction.replace (android.R.id.content,new FragmentPreferences());
        transaction.commit();
    }
}

public class FragmentPreferences extends PreferenceFragment {
    public void onCreate (Bundle savedInstanceState) {
        super.onCreate (savedInstanceState);
        this.addPreferencesFromResource (R.xml.preferences);
    }
}