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

如何在首选项汇总中显示Android首选项的当前值?

斜浩穰
2023-03-14

例如:如果我有一个“丢弃旧消息”的首选项设置,它指定了需要清理消息的天数。在PreferenceActivity中,我希望用户看到:

“丢弃旧消息”<-title

“x天后清理邮件”<-摘要,其中x是当前首选项值

额外的功劳:使它可重用,所以我可以很容易地将它应用到我的所有首选项,而不管它们的类型是什么(这样它就可以使用EditTextPreference,ListPreference等,只需最少的编码量)。

共有1个答案

钱志
2023-03-14

如果适合您的需要,有一些方法可以使其成为一个更通用的解决方案

例如,如果希望一般地将所有列表首选项显示为摘要,则可以将其用于onSharedPreferenceChanged实现:

public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
    Preference pref = findPreference(key);

    if (pref instanceof ListPreference) {
        ListPreference listPref = (ListPreference) pref;
        pref.setSummary(listPref.getEntry());
    }
}

这很容易扩展到其他首选项类。

 类似资料:
  • 我开始认为我的问题是我的偏好没有正确完成,这就是为什么我无法访问tem。以下是我的偏好: Java: 这是我对设置菜单的调用: 因此,任何帮助将不胜感激!我正在尝试访问这些首选项,但无法访问。它似乎很好地拯救了他们。我能够测试和运行代码,更改pref并保存它们的状态。但是,当我尝试访问它们时,我不能...以下是我用来尝试访问它们的代码: 编辑:我已将其更改为如下调用,无论设置如何,它仍然是“你好,

  • 我是Android编程的新手,首先我想用SharedPreays做一个简单的选项菜单演示。我已经创建了基本的结构,但是我不知道如何将OnPreancceClickListener附加到Preation。尽管如此,我可以使用onSharedPreancceChanged方法,但是没有其他事件侦听器。(再次,我是初学者,所以我不知道为什么会这样。) 我已经阅读了有关创建菜单步骤的文档:https://

  • 7.1.首选项 首选项即用户所做的个人设置。它包含一些选项数据,以及一个修改这些选项数据的用户界面。 在用户看来,首选项就是一些文本框、复选框、下拉菜单等等组成的集合体;而在程序员看来,首选项是一组键值对构成的数据集,其中的值可以是整型、布尔型、字符串等等。 我们的微博应用需要连接到服务端,因此用户的用户名与密码自是必须,除此还需要知道服务端的URL(又称API root)。可知我们在这里需要提供

  • 了解 Lightroom 中可以设置使用的首选项的更多信息。 调整 Lightroom 中的首选项 要打开首选项对话框,请选择编辑 > 首选项 (Win) 或 Lightroom > 首选项 (macOS)。 在首选项对话框中,从左侧菜单选取任意首选项设置:帐户、本地存储空间、常规或界面。 设置所需的首选项,然后单击完成。 此时系统将提示您重新启动 Lightroom 以应用所更改的设置。执行以下

  • 设置首选项 “首选项”对话框允许Eclipse用户管理其首选项。 此对话框由框架管理,但任何插件都可以向对话框添加多个页面。 要调用此对话框,请单击“窗口”菜单,然后选择“首选项”菜单项。 首选项页面按类别组织。 您可以通过展开对话框左侧树的节点来查找首选项页面。 左上角的过滤器文本框允许您快速找到首选项页面。 在过滤器文本框中键入字符时,左侧树中显示的项目将被过滤。 例如,键入字体以快速进入字体

  • 关于首选项 为了让 Photoshop 根据您特定的工作流程尽可能流畅地运行,您需要根据自己的喜好设置首选项。 许多程序设置都存储在 Adobe Photoshop Prefs 文件中,其中包括常规显示选项、文件存储选项、性能选项、光标选项、透明度选项、文字选项以及增效工具和暂存盘选项。其中大多数选项都是在“首选项”对话框中设置的。每次退出应用程序时都会存储首选项设置。 如果出现异常现象,可能是因