android-从ListPreference删除数组项

android-从ListPreference删除数组项,第1张

概述我的首选项活动中有一个加速度计模式的列表首选项,我纯粹是从xml加载的.如果用户设备没有或不支持加速度计,我将不会完全删除阵列中的物品.我是否需要为此选项创建一个单独的列表首选项才能将其删除?(我希望将它们全部合而为一.)如何通过以下设置将其删除?谢谢你的提示.杰森<str

我的首选项活动中有一个加速度计模式的列表首选项,我纯粹是从xml加载的.如果用户设备没有或不支持加速度计,我将不会完全删除阵列中的物品.我是否需要为此选项创建一个单独的列表首选项才能将其删除? (我希望将它们全部合而为一.)如何通过以下设置将其删除?

谢谢你的提示.

杰森

<string-array name="mode_text">        <item>Others Modes</item>        <item>Others Modes</item>        <item>Accelerometer Mode</item>    </string-array>    <string-array name="mode_values">        <item>0</item>        <item>1</item>        <item>2</item>    </string-array></resources>

解决方法:

当您说要“完全删除数组中的项”时,是否意味着您希望ListPreference不显示在PreferenceScreen中?还是想让它在尝试获取设置值时返回空值?

好吧,我现在明白了.我认为您不能只删除数组中的那个项目.您必须以编程方式为ListPreference的entry和entryValues设置新数组.
您可以通过其键找到ListPreference.

这是一个例子:

    if (accelerometerNotSupported) {        ListPreference accelMode = (ListPreference) findPreference("acceleratorMode");        accelMode.setEntrIEs(new String[]{"Others Modes","Others Modes"});        accelMode.setEntryValues(new String[]{"0", "1"});    }

这会将您的列表偏好设置更改为仅具有这两个选项.

总结

以上是内存溢出为你收集整理的android-从ListPreference删除数组项全部内容,希望文章能够帮你解决android-从ListPreference删除数组项所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1210542.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存