保存自定义首选项的值

2023-12-11

我创建了一个新的首选项,它直接延伸自CheckboxPreference。在这个类中我添加了一个简单的新boolean价值。我现在的问题是如何存储这个新值。如果用户点击正常CheckboxPreference该值自动存储在首选项中。我希望这也发生在我的新价值观上。为此,我认为我必须重写一个方法,但我不知道其中的哪一个。我还有两个boolean现在值(检查过的和我自己的)所以我必须用整数构建一个逻辑或类似的东西,因为两个布尔值有四种不同的可能性。那么如何有效地存储我的两个值以及我必须为此覆盖哪种方法?


你应该使用SharedPreference,您存储值和密钥对。例如键是“colorPreference”,值是“green”。即使您关闭应用程序,它也不会被删除。

//设置共享首选项

public static SharedPreferences sharedPreferencesFDefault;
sharedPreferencesFDefault = PreferenceManager.getDefaultSharedPreferences(this);

//添加你想要的东西

SharedPreferences.Editor editor = sharedPreferencesFDefault.edit();
editor.putInt("studentNameColor", 2); // studentNameColor=2 for example
editor.commit();

//获取你存储的值

int color = sharedPreferencesFDefault.getInt("studentNameColor", -1); // gets 2, if this key is not found, returns -1

//删除key-value如果不再需要的话配对

SharedPreferences.Editor editor = sharedPreferencesFDefault.edit();
editor.remove("studentNameColor");
editor.commit();

//删除每一个key-value在默认共享首选项内配对

sharedPreferencesFDefault.edit().clear().commit();

您也可以使用apply()代替commit()它在后台异步执行操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

保存自定义首选项的值 的相关文章

随机推荐

  • Ipython bash/shell 单元魔法:我可以在单元之间拥有持久变量吗?

    这是我在 SO 上的第一篇文章 所以请告诉我我是否做错了什么 我对在 ipython 中使用不同的编程语言感兴趣 类似于 emacs org 模式下的 babel literal 编程 我喜欢 emacs org 模式的一点是 可以有多个
  • 我可以将图像作为文件而不是 data:url 存储在 Firebase 上吗?

    我想将图像存储在 firebase 上并想在某个地方使用它 我经历了这个帖子并尝试过这个演示 它将图像存储为 data url 格式 但我想将图像上传并存储为物理文件 以便我可以进一步使用它 例如这个网址http example com s
  • MvcMailer:无法在使用 Url.Action 的 Razor 视图上完成 NUnit 测试

    这是我的问题 我正在使用Mvc邮件程序使用 Razor 语法创建格式良好的电子邮件 它是一个很棒的工具 我遇到的问题是这样的 这是我发送的一封电子邮件的视图中的一些语法 p Click here to return to a href Ur
  • 如何检查 iOS 上的 React Native 应用程序的网络流量?

    I m using the latest React Native 0 18 at the time of this writing and would like to inspect the network requests my iOS
  • 在一个 Android 应用上接收来自两个 Firebase 项目的推送通知

    我有一个 Android 应用程序 我希望它能够接收来自两个不同 Firebase 项目的推送通知 我阅读了博客 在 Android 应用程序中使用多个 Firebase 项目 https firebase googleblog com 2
  • 如何在Java中获取给定类的数组类?

    我有一个Class保存某种类型的变量 我需要获取一个保存相应数组类的变量 我能想到的最好的办法是 Class arrayOfFooClass java lang reflect Array newInstance fooClass 0 ge
  • Video.play 返回 DirectShowPlayerService::doSetUrlSource:未解决的错误代码 800c000d

    使用 Qt 版本 5 4 2 返回的错误代码 DirectShowPlayerService doSetUrlSource 未解决的错误代码 800c000d 已使用视频 QML 类型编写了 QML 文件 如下所示 我在项目文件 pro 中
  • 使用带有泛型的语句:using ISet<> = System.Collections.Generic.ISet<>

    由于我使用两个不同的通用集合命名空间 System Collections Generic and Iesi Collections Generic 我有冲突 在项目的其他部分 我同时使用 nunit 和 mstest 框架 但当我调用时限
  • 为什么这个汇编程序会输出相同的字符串两次?

    此凯撒密码程序生成解密字符串 长度始终为 10 并输出为 output txt 文件 例如下面的代码创建 txt 文件 ILIKEASSEM HOWAREYOUU 但是当我运行这段代码时 该文件是 ILIKEASSEM ILIKEASSEM
  • 除以零后的余数

    我知道数学中不允许除以零 但是我可以使用零模吗 我应该得到什么答案 例如 10 0 5 0 标准将其定义为 未定义 在几乎所有处理器中 求模都是通过与除法相同的功能来执行的 在现代较大的处理器中 它是一条指令 例如 x86 大多数情况下 该
  • CSS 选择器中的空格

    在选择器中 空格可以指示后代 不过 我发现空格也可以忽略 根据我的测试 这就是我的think它的意思是 周围可以使用空格 和上下文字符 例如 and gt 空格可能not用于伪类和元素字符 and 以及属性选择器 空格可能not与类和 id
  • 链接服务器 SQLNCLI 问题。 “没有活跃的交易”

    我尝试执行存储过程并将其结果简单地插入到临时表中 并且收到以下消息 无法执行该操作 因为 OLE DB 提供程序 SQLNCLI 对于链接服务器 MyServerName 无法开始分布式 交易 用于链接服务器的 OLE DB 提供程序 SQ
  • 使用 CSS 无限移动多个背景

    我有两个背景 body background image url img nemo png url img ocean png 我该如何制作nemo png background左右无限移动但不影响ocean png background
  • 如何使用外部 CSS 覆盖内联样式?

    我有使用内联样式的标记 但我无权更改此标记 如何仅使用 CSS 覆盖文档中的内联样式 我不想使用 jQuery 或 JavaScript HTML div style font size 18px color red Hello World
  • 报告长期运行的 Celery 任务的结果

    Problem 我已将长时间运行的任务分割为逻辑子任务 因此我可以在每个子任务完成时报告其结果 然而 我试图报告一项实际上永远不会完成的任务的结果 而不是在进行过程中产生值 并且正在努力使用我现有的解决方案来做到这一点 背景 我正在为我编写
  • 如何在满足给定条件时终止Python中的多进程? [复制]

    这个问题在这里已经有答案了 假设我有这个功能 def f while True x generate something if x condition return x if name main p Pool 4 我想在多进程中运行此函数
  • 使用clone()和printf的段错误

    我正在尝试如何clone 在 Linux 3 10 0 327 3 1 el7 x86 64 中为线程实现 我正在运行这段代码 偶尔会出现段错误 我知道如果我使用CLONE THREAD那么就没有办法检查线程是否完成 但是为什么printf
  • 如何让列表视图只显示3个项目

    我有一个列表视图 其中正在加载 10 个项目 我希望滚动时只显示 3 个项目 我不想通过调整列表高度来做到这一点 即使滚动很小 意味着没有项目应该部分显示 我也只想显示 3 个项目 如何实现这一目标 提前致谢 我将发布一个代码 我用它来填充
  • Android ListActivity行点击

    我有一个显示有关玩家的信息的活动 这部分工作正常 我使用了适配器 但是我应该将检测行何时被单击的代码放在哪里 PlayersActivity java package com democratandchronicle billstraini
  • 保存自定义首选项的值

    我创建了一个新的首选项 它直接延伸自CheckboxPreference 在这个类中我添加了一个简单的新boolean价值 我现在的问题是如何存储这个新值 如果用户点击正常CheckboxPreference该值自动存储在首选项中 我希望这