android checkboxpreference中的多重依赖

android checkboxpreference中的多重依赖,第1张

概述我的偏好设置屏幕中有三个复选框.我想让用户一次只选择一个复选框.我该如何实现?先感谢您.解决方法:您将需要创建一个onpreferenceChangelistener:prefChangeListener=newPreference.OnPreferenceChangeListener(){@Overridepublicboole

我的偏好设置屏幕中有三个复选框.我想让用户一次只选择一个复选框.
我该如何实现?

先感谢您.

解决方法:

您将需要创建一个onpreferencechangelistener:

prefchangelistener = new Preference.OnPreferencechangelistener() {                @OverrIDe                public boolean onPreferenceChange(Preference preference, Object newValue) {                    if (preference == pref1 && newValue.toString().equals("true")){                        pref2.setChecked(false);                        pref3.setChecked(false);                    }                    if (preference == pref2 && newValue.toString().equals("true")){                        pref1.setChecked(false);                        pref3.setChecked(false);                    }                    if (preference == pref3 && newValue.toString().equals("true")){                        pref1.setChecked(false);                        pref2.setChecked(false);                    }                    return true;                    }        };

然后使用它

pref1.setonPreferencechangelistener(prefchangelistener);pref2.setonPreferencechangelistener(prefchangelistener);pref3.setonPreferencechangelistener(prefchangelistener);

或者,您可以使用ListPreference,它将d出一个单选组,您只需在其中放置三个选项即可.这就是我在应用程序中所做的,但是如果需要checkBoxpreferences,那么当然可以.

这是我的列表首选项(用于选择响铃时间):

<ListPreference androID:persistent="true"            androID:title="Ring Time"            androID:summary="Choose how long the phone will ring when activated"            androID:key="ringTime"            androID:defaultValue="ringNot"            androID:entrIEs="@array/ringTime"            androID:entryValues="@array/ringSetting" />

这是我的@ array / ringTime和@ array / ringSetting的XML

 <?xml version="1.0" enCoding="utf-8"?><resources><string-array name="ringTime">   <item>Don\'t Ring</item>   <item>Ring 30 Seconds</item>   <item>Ring 2 Minutes</item>      <item>Ring 5 Minutes</item></string-array><string-array name="ringSetting">   <item>ringNot</item>   <item>ring30Sec</item>   <item>ring2Min</item>      <item>ring5Min</item></string-array></resources>

我知道到目前为止,这是一个5个月大的问题,但我认为这可能会对其他人有所帮助. 总结

以上是内存溢出为你收集整理的android checkboxpreference中的多重依赖全部内容,希望文章能够帮你解决android checkboxpreference中的多重依赖所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存