在PreferenceFragmentCompat.onCreatePreferences()中,rootKey为null

时间:2018-09-07 01:41:00

标签: android sharedpreferences preferencefragment

我正在从Android的支持库扩展PreferenceFragmentCompatonCreatePreferences()方法给我一个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的关键参数的正确值是什么?

0 个答案:

没有答案