0

在我的应用程序类中,我有以下内容:

public void loadPrefs(){
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);  
Boolean soundValue = sharedPrefs.getBoolean("SOUND", false);    
}

public void savePrefs(String key, boolean value){

SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
Editor edit = sharedPrefs.edit();       
    edit.putBoolean(key, value);            
edit.commit();                          

}

据我所知,一切都还好。

现在在我扩展 SurfaceView 的主类中,我有以下内容:

myApp mySettings = (myApp)getContext().getApplicationContext();

然后我可以像这样保存值:(再次来自我的surfaceView活动)

myPlanSettings.savePrefs("SOUND", false);}

但是,我无法解决的是如何读回该值,以便我可以像这样设置一个局部变量:

Boolean thisValue = (the value from the shared preferences).

谢谢你的帮助

4

1 回答 1

0

尝试这个

public Object loadPrefs(String key,String defaul){
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);  
return  sharedPrefs.get(key,default);
}

在使用获取值时使用类型进行转换

基本用法:

boolean b=(Boolean)loadPrefs("value","default value")
于 2013-02-28T01:52:08.857 回答