使用putBoolean更改字符串值是否在android中返回数值?

使用putBoolean更改字符串值是否在android中返回数值?,android,boolean,sharedpreferences,Android,Boolean,Sharedpreferences,我有字符串字段true 现在,在settingsActivity中,我正在更改其首选项单击值 final SharedPreferences sharedpreferences = getActivity().getPreferences(Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedpreferences.edit();

我有字符串字段
true

现在,在settingsActivity中,我正在更改其首选项单击值

final SharedPreferences sharedpreferences = getActivity().getPreferences(Context.MODE_PRIVATE);
                        SharedPreferences.Editor editor = sharedpreferences.edit();
                        editor.putBoolean(getResources().getString(R.string.categegoriesStatus), false );
                        editor.apply();

但它并没有将其更改为false,而是将其更改为某个数值。我没有得到我想要的结果。

您有一个字符串,但您想保存一个布尔值。那么,你应该是这样的:

  boolean result = getResources().getString(R.string.categegoriesStatus).equals("true");
  editor.putBoolean(result, false );

祝你好运

您错误地使用了SharedReference

在语句编辑器中.putBoolean(getResources().getString(R.string.CategoriesStatus),false); 您正在插入editor.putBoolean(“真”,假);这不是你所期望的

存储在共享首选项中的信息应采用键值格式


阅读此链接中的android文档:

共享首选项仅保存/检索键值对。它不会更改字符串资源值。一旦声明了字符串资源字段,就不能在运行时更改其值。请参阅。

您的调用返回的数值是多少?@ChampS it returns value=2131238702我的第一个参数类型错误。“result”变量中需要“Boolean”。我这样做了:editor.putBoolean(String.valueOf(result),false);但它不起作用。您可以尝试将结果强制转换为布尔对象。可能是
(布尔)结果
?或
Boolean result=getResources().getString(R.string.categoriesstatus).equals(“true”)