如果要有自定义的首选项XML文件,则需要在将首选项名称从XML添加到PreferenceFragment类的屏幕之前设置它。
public class CustomNamePreferenceFragment extends PreferenceFragment {
private static final String PREF_FILE_NAME = "custom_name_xml";
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PreferenceManager preferenceManager = getPreferenceManager();
preferenceManager.setSharedPreferencesName(PREF_FILE_NAME);
addPreferencesFromResource(R.xml.prefs);
... //rest of the code
}
}
注意:您需要在onCreate()的超级调用之后和调用addPreferencesFromResource()方法之前设置共享首选项名称。