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

Android 需要检查共享首选项字符串或布尔值是否存在,android,sharedpreferences,Android,Sharedpreferences,我想知道是否有人能帮我,我正在试着了解共享偏好,我假设它们存储在设备(平板电脑)中,可以检查它们是否存在。 下面的代码(第一个)我希望单击一个按钮,在共享首选项中放入字符串或布尔值。 第二个代码是查看共享pref是否存在,如果它确实进行了settext更改(如果不忽略),并查找下一个字符串 cala1.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { LoadPreferenc

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

我不明白为什么在忽略返回值时调用
SharedReferences.contains(“cal1”)
。 Android的文档说明如下:

contains(字符串键)检查首选项是否包含 偏好

看起来这就是您想要的,请尝试使用callinyouif子句

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

上面代码的格式也有点混乱-使其更难阅读;)

你的问题是什么?您既没有说明您的问题是什么,也没有说明您提供的代码是否有效。在这里帮助我们…另外,代码不完整,它以一个elseTo结尾。要问你的问题,HXcaine我的代码不起作用,因为第二个代码只会显示settext weither字符串是否存在。我留下了不完整的代码,因为我想知道是否有可能在点击侦听器中放置一些if-else例程。由于if子句后面有分号,所以代码总是设置文本。因此,
cexist1.setText(“共享prefs exit”)块始终被执行,无论if如何计算谢谢k-mera,但不幸的是,我仍然在setext更改时获得共享prefs exit(我的意思是exist msspelling),即使我没有点击cala1 on click listener上的按钮。我需要一些代码来查看字符串是否已被放置,否则返回一个false值。。。我只是在找。