我正在从Android的支持库扩展PreferenceFragmentCompat。 onCreatePreferences()
方法给我一个rootKey
,它是可为空的字符串。该文档说明了有关参数的信息:
rootKey -如果不为null,则此优先级片段应使用此密钥植根于PreferenceScreen。
在首选项xml中,我设置了android:key
属性:
<android.support.v7.preference.PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:key="prefs_behavior">
...
但是rootKey
中给我的onCreatePreferences()
值仍然为空。
我还需要向setPreferencesFromResource
提供一个可为空的字符串:
键-PreferenceScreen的首选项键用作首选项层次结构的根,或者为null来使用根PreferenceScreen。
我不知道仅仅因为setPreferencesFromResource()
给了我null而为onCreatePreferences()
提供null是否安全。我发现的示例建议您通常将rootKey
用作key
,但是我的片段具有某些非标准行为,并且我试图确定崩溃错误。 在我的情况下,为什么rootKey为null,并且setPreferencesFromResource的关键参数的正确值是什么?