2015-07-03 128 views
0

有2个XML首选文件,独立设置..如何为多个xml首选项设置默认值?

PreferenceManager.setDefaultValues(file1) //works 
PreferenceManager.setDefaultValues(file2) does not work 

其次文件的默认值不加载,我认为这有望..

如何调用2个不同的文件PreferenceManager.setDefaultValues,确保它只会执行一次..

回答

2

结束了与下面劈..

final SharedPreferences defaultValueSp = context.getSharedPreferences(PreferenceManager.KEY_HAS_SET_DEFAULT_VALUES, Context.MODE_PRIVATE); 

    if(!defaultValueSp.getBoolean(PreferenceManager.KEY_HAS_SET_DEFAULT_VALUES, false)) 
    { 
     PreferenceManager.setDefaultValues(context, R.xml.file1, false); 
     //passing true as ignored otherwise because of above call 
     PreferenceManager.setDefaultValues(context, R.xml.file2, true); 
    } 
0

您可以使用界面编辑器来修改SharedPreferences对象中的值。实施例方法:

public static void setPreferredArtistName(Context context, String artistName) { 
     SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); 
     SharedPreferences.Editor editor = prefs.edit(); 
     editor.putString("ArtistName", artistName); 
     editor.commit(); 
} 
0

把第一false和第二true这样的:

PreferenceManager.setDefaultValues(context, R.xml.file1, false); 
PreferenceManager.setDefaultValues(context, R.xml.file2, true);