gpt4 book ai didi

android - Multiselectlistpreference android检索值

转载 作者:行者123 更新时间:2023-11-29 00:23:57 25 4
gpt4 key购买 nike

我正在尝试检索这些值,但不知何故我得到了更多的值。这是我正在运行的代码。任何人都知道我做错了什么?我确实在很多地方搜索过,但大多数都已经过时了。 (我检查了项目 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>

Strings.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> , 它的大小将只有 2 strings用 0 和 2。

关于android - Multiselectlistpreference android检索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21139373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com