需要检查是否存在共享首选项字符串或布尔值

时间:2011-09-04 13:22:07

标签: android sharedpreferences

我想知道是否有人可以帮助我,我试图了解共享偏好,我认为它们存储在设备(平板电脑)中,可以检查它们是否存在。 我的代码如下(第一个)我想要一个按钮,一旦点击将字符串或布尔值放在共享首选项中。 第二个代码是查看共享首选项是否存在,如果它确实进行了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

1 个答案:

答案 0 :(得分:16)

我无法理解为什么在忽略返回值时调用sharedpreferences.contains("cal1")SharedPreferences的Android文档说明如下:

  

contains(String key)检查首选项是否包含   偏好。

看起来这就是你想要的,尝试使用if if子句中的调用。

if (sharedpreferences.contains("cal1")) {
   cexist1.setText("Shared prefs exit"); 
}

上面代码的格式也有点乱 - 让它更难阅读;)