当前位置: 首页 > 知识库问答 >
问题:

是否可以在SharedPreferences中保存void

宣俊豪
2023-03-14

MainActivity.class

public static final String Change_Color = "Change_Color";
private boolean switchOnOff;


  setContentView(R.layout.activity_main);

   if (switchOnOff == true) {
        setColorGreyImageButton();
        } else if(switchOnOff == false) {
            setColorWhiteImageButton();
        }


if(id == R.id.menu_back_white) {
   saveColor();
} else if (id == R.id.menu_back_black) {
   saveColor2();
}

 public void setColorGreyImageButton() {
        settings.setColorFilter(Color.parseColor("#757575"));
        voiceSearch.setColorFilter(Color.parseColor("#757575"));
        share.setColorFilter(Color.parseColor("#757575"));
        search.setColorFilter(Color.parseColor("#757575"));
        mainView.setBackgroundColor(Color.parseColor("#FFFFFF"));

MainActivity中的

public void saveColor() {
    SharedPreferences sharedPreferences = getSharedPreferences("Color", MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putBoolean(Change_Color, false);
    switchOnOff = sharedPreferences.getBoolean(Change_Color, false);

}

public void saveColor2() {
    SharedPreferences sharedPreferences = getSharedPreferences("Color", MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putBoolean(Change_Color, true);
    switchOnOff = sharedPreferences.getBoolean(Change_Color, true);
}

共有1个答案

仇睿
2023-03-14

在活动课中使用以下方法:

private boolean getChangeColor() {
    SharedPreferences sharedPreferences = getSharedPreferences("Color", MODE_PRIVATE);
    return sharedPreferences.getBoolean(getPackageName() + ".change_color", false);
}

private void saveChangeColor(boolean changeColor) {
    SharedPreferences sharedPreferences = getSharedPreferences("Color", MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putBoolean(getPackageName() + ".change_color", changeColor);
    editor.apply();
}

oncreate()中,检查存储在SharedPreferences中的Boolean值:

   switchOnOff = getChangeColor();
   if (switchOnOff) {
       setColorGreyImageButton();
   } else {
       setColorWhiteImageButton();
   }

当要更改SharedPreferences中的值时,调用

saveChangeColor(true); 
saveChangeColor(false);
 类似资料:
  • 问题内容: 我有一个需要保存的JSON数组。我当时正在考虑对其进行序列化,但是最好将它另存为SharedPreferences中的字符串,然后在需要读入它时对其进行重建? 问题答案: Java中的JSON对象无法立即实现可序列化。我已经看到其他人扩展了该类以允许这样做,但是对于您的情况,我只建议将JSON对象存储为字符串并使用其toString()函数。我已经成功了。 并找回它: http://d

  • 以上内容将注销,此: 我只是想知道我是否可以替换mysite。本地主机。具有文件夹路径的com。我甚至尝试用文件夹的完整路径替换URL,但是只能在上工作。是否有将文件保存到文件夹的功能?

  • 我有下一个代码: 但当我运行它时,它会出错: TypeError:不支持的类型“ 我尝试了很多方法,但似乎不可能将日期时间保存到DynamoDB。顺便说一句,它在MongoDB中运行良好。 有什么解决办法吗?

  • 我在将数据正确保存到SharedPreferences中时遇到问题。不知何故,最后一个editor.putstring方法被写入了我所有的首选项中,我不知道为什么。 根据官方文件,我做的一切都是对的。在此处输入链接描述 如有任何帮助,不胜感激。提前谢了。

  • 问题内容: 我想知道是否可以在Django模型中存储数组? 我问这个问题是因为我需要在一个字段中存储一个数组(例如[1,2,3]),然后能够搜索特定的数组并与之匹配,或者通过它的可能组合来进行匹配。 我当时正在考虑将该数组存储为s中的字符串,然后在需要搜索内容时,将值(通过过滤其他模型获得)与’[‘,’]’和’,’连接在一起,然后使用带有生成字符串。问题在于,我将必须生成每种可能的组合,然后逐个过

  • 问题内容: 是否可以将图像另存为对象,然后检索以供进一步使用? 问题答案: 注意! 如果您要在iOS8 / XCODE6以下工作,请参阅下面的更新 对于仍在寻找答案的用户,这里提供了“建议”方式的代码,用于将图像保存在NSUserDefaults中。您不应该将图像数据直接保存到NSUserDefaults中! 写入数据: 读取数据: documentsPathForFileName: 对于iOS8