我想知道是否有人可以帮助我,我试图了解共享偏好,我认为它们存储在设备(平板电脑)中,可以检查它们是否存在。 我的代码如下(第一个)我想要一个按钮,一旦点击将字符串或布尔值放在共享首选项中。 第二个代码是查看共享首选项是否存在,如果它确实进行了settext更改,如果不忽略并查找下一个字符串
cala1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
LoadPreferences();
SharedPreferences sharedpreferences = getSharedPreferences("prefman", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putString("cal1","c1");
editor.commit(); });
enter4.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
LoadPreferences();
SharedPreferences sharedpreferences = getSharedPreferences("prefman", MODE_PRIVATE);
sharedpreferences.contains("cal1");
if (sharedpreferences.getString("cal1","c1").equals("cal1"));
{
{cexist1.setText("Shared prefs exit");
}
else
答案 0 :(得分:16)
我无法理解为什么在忽略返回值时调用sharedpreferences.contains("cal1")
。
SharedPreferences的Android文档说明如下:
contains(String key)检查首选项是否包含 偏好。
看起来这就是你想要的,尝试使用if if子句中的调用。
if (sharedpreferences.contains("cal1")) {
cexist1.setText("Shared prefs exit");
}
上面代码的格式也有点乱 - 让它更难阅读;)