Multiselectlistpreference android 检索值

2024-03-13

我试图检索这些值,但不知何故我得到了更多的值。 这是我正在运行的代码。有人知道我做错了什么吗?我确实在很多地方搜索过,但大多数都已经过时了。 (我检查了第2项和第3项) 只是为了确保我只想读出列表中选定的复选框,但我不知道 0-1-2-123 来自哪里。

pref_app.xml

    <MultiSelectListPreference
        android:title="Categories"
        android:key="rssfeeds"
        android:summary="List to choose from"
        android:entries="@array/catos"
        android:entryValues="@array/catovalues"
        android:defaultValue="@array/catodefault"
        android:dialogTitle="Categories"
        >
    </MultiSelectListPreference>

字符串.xml

<string-array name="catos">
    <item >Movies</item>
    <item >Test</item>
    <item >TEst23</item>
</string-array>
<string-array name="catovalues">
    <item >movies-checked</item>
    <item >test-checked</item>
    <item >test23-checked</item>
</string-array>
    <string-array name="catodefault">
    <item >movies-default</item>
    <item >test-default</item>
    <item >TEST23-default</item>
</string-array>

主 xml 中的返回代码

        SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
        Set<String> selections = preferences.getStringSet("rssfeeds", null);
        String[] selected= selections.toArray(new String[] {});
        for (int i = 0; i < selected.length ; i++){
            System.out.println("\ntest" + i +" : " + selected[i]);
        }

Logcat 结果:

01-15 14:15:49.016: I/System.out(4555): test0 : test23-checked
01-15 14:15:49.016: I/System.out(4555): test1 : 2
01-15 14:15:49.016: I/System.out(4555): test2 : 1
01-15 14:15:49.016: I/System.out(4555): test3 : 0
01-15 14:15:49.016: I/System.out(4555): test4 : 123
01-15 14:15:49.016: I/System.out(4555): test5 : test-checked

它仅存储已检查的内容。

您可以将值作为索引。

<string-array name="catos">
    <item >Movies</item>
    <item >Test</item>
    <item >TEst23</item>
</string-array>
<string-array name="catovalues">
    <item >0</item>
    <item >1</item>
    <item >2</item>
</string-array>

0 - Movies => Checked 
1 - Test   => Unchecked 
2 - TEst23 => Checked 

在首选项文件中只会索引 0 和 2,您可以假设其他索引未标记。

所以如果你分析Set <String>,其大小仅为 2strings与 0 和 2。

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

Multiselectlistpreference android 检索值 的相关文章

  • “_Smi”不是“bool”类型的子类型 - Flutter MethodChannel

    收到这个奇怪的错误 似乎 MethodChannel 正在转换为 int 而不是 bool 06 07 00 16 26 589 3678 4993 E flutter ERROR topaz lib tonic logging dart
  • 如何设置自定义谷歌地图标记的背景图像?

    我有一个用于 Google 标记的自定义图像 但我必须在其背景上设置另一个图像 是否可以设置地图标记的背景图像 是的你可以 试试这个所以问题如何使用 Android 地图 API v2 创建自定义形状的位图标记 https stackove
  • 如何在 Android 中检查与配对设备的蓝牙连接状态

    我开发了一个蓝牙应用程序 它将连接到配对的设备并发送消息 但我必须先测试连接 我尝试了很多选择 但没有一个效果很好 那么您能给我发送任何可以做到这一点的代码示例吗 我创建了一个线程 但无法获得良好的连接状态来构建 if 函数 这是代码 pa
  • 自定义 AlertDialog - android.R.id.custom 的问题

    我确信我错过了这里的重点 所以我希望有人能解释一下 我想在用户触摸时创建一个弹出窗口ImageView 我看了一下AlertDialog文档说 如果您想显示更复杂的视图 请查找名为 custom 的 FrameLayout 并将您的视图添加
  • AlertDialog 关闭不起作用

    我有以下警报对话框 AlertDialog Builder dialogBuilder new AlertDialog Builder mContext dialogBuilder setTitle R string title dialo
  • com.google.firebase.provider.FirebaseInitProvider:java.lang.ClassNotFoundException:com.google.firebase.provider.FirebaseInitProv

    收到此错误KitKat和较低版本完美运行在 Lollipop 及以上版本 我已将所有必需的 jar 包含在 cradle 和 Firebase json 文件中以接收 GCM 我的应用程序梯度 apply plugin com androi
  • Android SIP 客户端 SipManager.open() 未打开

    我一直在使用 Android SDK 的本机 SIP 库编写 SIP 客户端 由于某种原因 我无法让我的帐户在服务器上注册 以下是测试场地 Linux Mint 17 XFCE 运行 Kamailio 服务器 启用 MySQL 和 TLS
  • Android 4.3 的 Google 地图 Android API V2 问题

    我是谷歌地图的新手 刚刚点击此链接http www androidhive info 2013 08 android working with google maps v2 http www androidhive info 2013 08
  • 当您处于飞行模式并退出飞行模式时,我只收到最后一条 FCM 推送通知?

    我只在退出飞行模式后收到最后的推送通知 FCM 但是 如果我的应用程序位于前台 一旦我离开飞行模式 我将收到所有推送通知 我已将 FCM 消息类型实现为通知消息 笔记 无法将 FCM 消息类型实现为数据消息 因为 APNS 只接受我的 iO
  • TextView位于屏幕中央[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 Android 中的 TextView 中水平和垂直居中文本 https stackoverflow com questions 432037 how do i center text hor
  • 如何检查应用程序是否违反 Google 的假冒政策

    我的应用程序已从 Google Play 商店中删除 原因如下 经审核 我的应用 有 由于政策罢工而被暂停并从 Google Play 中删除 因为 它违反了假冒政策 有没有其他方法可以在发布之前检查应用程序是否遵守所有 Google 政策
  • 将多个视频文件合并到一个文件中

    我有多个以相同帧速率和分辨率录制的视频 我想将两个视频合并为一个视频 因此结果文件将是大视频 我正在使用 MP4 解析器 api 并使用下面的代码 Movie countVideo new MovieCreator build Channe
  • SlidingPaneLayout setCoveredFadeColor () 和 setSliderFadeColor()

    我正在使用SlidingPaneLayout并希望在滑块右窗格打开时在左窗格上设置灰色渐变颜色 在右窗格关闭且左窗格完全可见时在左窗格上设置透明渐变颜色 我知道这是默认行为SlidingPaneLayout 但使用默认实现时 我在横向模式下
  • 使用远程数据编写 Android、iPad、iPhone 客户端的技术

    我需要探索世界 你写了一个杀手级应用程序 但你有 Android iPhone iPad 客户端吗 我的问题是 1 向这些设备发送数据的最佳方式是什么 按照建议进行肥皂和休息here https stackoverflow com ques
  • Java 7 中 Object 和 int 的比较

    最近我偶然发现了一个问题 让我停下来思考 对我来说 下面的代码应该总是会触发错误 但是当我的一位同事问我为什么 Eclipse 没有显示错误时 我无法回答任何问题 class A public static void main String
  • 文本转语音无法在 Android 设备上运行

    下面是我的代码 我无法在 Kitkat 设备中听到声音 Toast 出现 但声音没有播放 我正在遵循本教程 https www tutorialspoint com android android text to speech htm ht
  • Android 中的垂直(旋转)标签

    我需要两种在 Android 中显示垂直标签的方法 水平标签逆时针旋转 90 度 字母在侧面 带有字母的水平标签 如商店招牌 我是否需要为这两种情况 一种情况 开发自定义小部件 我可以使 TextView 以这种方式呈现吗 如果我需要完全自
  • 如何隐藏或删除 Android HoneyComb 中的状态栏?

    如何隐藏或删除 Android HoneyComb 中的状态栏 每次运行应用程序时 我都会发现某些内容必须被状态栏覆盖 我尝试改变AndroidManifest xml 但没有任何改变 你不知道 它被认为是永久的屏幕装饰 就像电容式主页 菜
  • 如何将上下文从一个活动传递到另一个活动?

    我有一个主要活动 它调用另一个活动来显示一些数据 我有一个私有数据库帮助程序对象 我在整个主要活动代码中使用它 有没有办法以优雅的方式将我的主要活动的上下文传递给我的子活动 即 来自子类 类似getCallingActivityContex
  • 安卓框架?

    是否有任何框架比构建 Android 应用程序更容易 您会对其中一个感兴趣吗 很快就会有 我正在开发 DroidFu 一个 Android 共享库 它将为您提供 活动 和服务 中直接提供大量实用功能 例如生成列表和错误对话框 检查 Inte

随机推荐

  • maven生成pom文件

    我使用maven 3 0 3并尝试为第三方jar生成pom 如下所示 mvn install 安装文件 Dfile cobra jar DgroupId com cobra DartifactId cobra Dversion 0 98 4
  • 动态更改函数的返回类型

    我正在编写一个具有返回类型的函数 该函数将根据我们传递的列动态更改 在下面的代码中 我传递列值 列数据类型 但我在运行代码时遇到错误 带有返回值的 RETURN 语句不能在此使用 语境 如果这是不可能的 那么如何动态更改返回类型 请提出解决
  • 如何估计在 z3 for SMT 中解决 SAT 部分所花费的时间?

    我已经使用探查器 gprof statshere http www ccs neu edu jaideep example2 stats包括调用图 并试图将所花费的时间分为两类 I SAT 求解部分 包括 纯 布尔传播和 纯 布尔冲突子句检
  • 'T'、'f'、'E'、'e'、'→' 在 dart/flutter 文档中代表什么?

    我正在学习颤振 但我不明白这些字母的含义 map
  • 安装 SQL Server 2016 时出现错误代码 0x84BB0001

    操作系统 Windows Server 2012 R2 当尝试在已运行 SQL 2012 的服务器上安装 SQL Server 2016 时 我收到 0x84BB0001 这会阻止我的数据库引擎服务正确安装 没有运行任何防病毒软件 我已删除
  • Webview 显示错误“未找到类“android.webkit.RenderProcessGoneDetail”

    我的平板电脑 Android 版本是 7 0 Chrome 版本是 62 0 3202 84 第一次运行我的 webview 应用程序时 调试窗口显示 没有找到类 android webkit RenderProcessGoneDetail
  • 对 Ruby on Rails 代码进行编码?

    是否有任何应用程序可以让我对 Ruby on Rails 代码进行编码 以便其他人无法读取它 我计划出售一些小型应用程序 但我真的不希望每个人都知道我的代码 Thanks 我在野外见过的唯一例子是 ThoughtWorks 的 Mingle
  • 如何从 RethinkDB 文档中删除键?

    我正在尝试从 RethinkDB 文档中删除一个键 我的方法 没有用 r db db table user replace function row delete row key return row 其他方法 r db db table
  • exe运行涉及的步骤

    Question 当我们运行一个exe 假设通过双击 时 在它实际开始执行之前所有时间都花在哪里 a 将exe加载到内存中 b c 问题背景 我正在分析应用程序 App exe 的执行情况并尝试提高其性能 我有一个测试 它的作用如下 开始时
  • Rust 0.13 中大型固定大小数组的堆栈溢出

    我希望与 Rust 专家验证这个简单的 Rust 程序 Linux x86 64 系统上的 rustc 0 13 0 nightly the runtime error is task
  • 如何在gridview中动态添加的文本框上触发textboxchanged事件

    在我的项目中 我可以在gridview中动态添加n个文本框 我的问题是 如果用户更改 gridview 任何行中任何文本框的文本 我想触发 textboxchanged 事件 HTML 代码
  • numpy:将 (n,) 数组转换为 (n, 1) 数组的语法/习惯用法?

    我想投射一个 numpyndarray形状物体 n 变成具有形状 n 1 我想出的最好的方法是推出我自己的 to col 函数 def to col a return a reshape a size 1 但我很难相信这样一个普遍存在的操作
  • Eclipse - Builder 到底是什么?

    我不明白CDT中的构建器到底是什么 与 C C Build 内容有什么关系 我在 C C Build 配置中设置了SCons 它确实有效 我做了两个配置 发布和调试 并且启动了我的 SCons 脚本 但当我现在尝试调试时 我正在研究这些 B
  • 在 for 循环中动态创建文本框

    我试图动态创建一个表格并将文本框放入其中 在下面的代码中 我试图为每个 k 创建一个具有不同名称的文本框 但文本框中仅显示 k 的最后一个值 我想知道如何为文本框命名以便显示所有内容 for int k 0 k lt tblCols k T
  • 在c#中调用带参数的存储过程

    我能够在程序中删除 插入和更新 并且尝试通过从数据库调用创建的存储过程来执行插入 我制作的这个按钮插件效果很好 private void btnAdd Click object sender EventArgs e SqlConnectio
  • 处理 Airflow DAG 随着时间的变化(DAG 版本控制)

    我们有相对复杂的动态 DAG 作为 ETL 的一部分 DAG 包含数百个转换 它是基于一组 yaml 文件以编程方式创建的 它随着时间的推移而发生变化 添加新任务 任务执行的查询发生变化 甚至任务之间的关系也发生变化 我知道每次以这种方式更
  • tee stdout 和 stderr 来分隔文件,同时将它们保留在各自的流上

    我正在尝试编写一个脚本 其本质上充当 非交互式 命令创建的所有输出的直通日志 而不影响命令到其他进程的输出 也就是说 stdout 和 stderr 应该看起来像没有运行过我的命令一样 为此 我尝试将 stdout 和 stderr 分别重
  • 多列上的 Pandas 数据框布尔掩码

    我有一个数据框 df 其中包含具有实际测量值的几列以及相应数量的列 A B 其中每列具有不确定性 dA dB A B dA dB 0 1 3 0 31 0 08 1 2 4 0 263 0 357 2 5 5 0 382 0 397 3 4
  • 是否可以将所有适配器配置保存在 IBM MFP 的一个文件中

    我在我的 Maven 项目中使用 JavaScript HttpAdapter 我遇到一种情况 我的客户希望有多个 HttpAdapter 作为adapter xml 文件的一部分 这是我以前没有尝试过的 一个文件中是否可以有多个适配器配置
  • Multiselectlistpreference android 检索值

    我试图检索这些值 但不知何故我得到了更多的值 这是我正在运行的代码 有人知道我做错了什么吗 我确实在很多地方搜索过 但大多数都已经过时了 我检查了第2项和第3项 只是为了确保我只想读出列表中选定的复选框 但我不知道 0 1 2 123 来自