Java 我的切换中的SharedReferences问题
我在切换按钮中使用SharedReferences时遇到问题。首先,我声明了我需要什么:Java 我的切换中的SharedReferences问题,java,android,sharedpreferences,togglebutton,Java,Android,Sharedpreferences,Togglebutton,我在切换按钮中使用SharedReferences时遇到问题。首先,我声明了我需要什么: public SharedPreferences preferences; public WifiManager wifiManager; ToggleButton wifitoggle; 然后是“行动”onclick 在onCreate中,我报告了以下值: boolean togglewifi = preferences.getBoolean("togglewifi", false); //defau
public SharedPreferences preferences;
public WifiManager wifiManager;
ToggleButton wifitoggle;
然后是“行动”onclick
在onCreate中,我报告了以下值:
boolean togglewifi = preferences.getBoolean("togglewifi", false); //default è false
if (togglewifi)
{
wifitoggle.setChecked(true);
}
else
{
wifitoggle.setChecked(false);
}
但当我运行应用程序时,它崩溃了。奇怪的是,logCat什么也没说。没有错误。。我错过什么了吗?感谢您的帮助试试这个:
SharedReferences sPref=getSharedReferences(首选名称,0);
Editor=sPref.edit();
编辑器.putBoolean(“键”,真/假);
editor.apply();
您需要初始化SharedReference
SharedPreferences sharedPreferences=context.getSharedPreferences(sharedPreferenceName, Context.MODE_PRIVATE);
SharedPreferences.Editor editor=sharedPreferences.edit();
在这里,sharedPreferenceName应该是一个名称,您将通过它访问存储的值。如果不匹配,您将无法访问SharedReference中的值。您绝对确定logcat中没有任何内容吗?尝试筛选错误,很可能您缺少与WifiManager交互的权限。您可以参考这一点。其中
PREFS\u NAME
类似于静态最终字符串PREFS\u NAME=“MyPreferences”代码>?无论如何:类型SharedReferences中的putBoolean(String,boolean)方法。编辑器不适用于参数(String,String)
是的,PREFS\u名称类似于静态最终字符串PREFS\u NAME=“MyPreferences”;只有一件事,你的代码必须放在SharedPreferences.Editor=preferences.edit()上;编辑器.putBoolean(“togglewifi”,true);//值来存储editor.commit()代码>?还是在onCreate中?
SharedPreferences sharedPreferences=context.getSharedPreferences(sharedPreferenceName, Context.MODE_PRIVATE);
SharedPreferences.Editor editor=sharedPreferences.edit();