繁体   English   中英

android:使用ListPreference并检索密钥字符串

[英]android: using ListPreference and retrieving key string

我弹出一个设置菜单,其中有一个ListPreference类型菜单。 它与其中包含“数组字符串”的settings.xml文件相关联。 一切正常,但我不知道如何检索用户首选项。

例如,假设用户选择一种颜色(红色,绿色或蓝色)。 我在“数组字符串”中所做的列表包含红色,绿色和蓝色文本。 在我的代码中,如果用户选择红色,我想做些什么,如果用户选择蓝色,我想做其他事情,等等,等等。我要使用'case'语句还是'if'语句? 最重要的是,我将如何检索用户首选项-密钥? (我要检查布尔值吗?)

如果您使用的是ListPreference,并且尚未禁用“持久”状态,则可以在设置完成后从SharedPreferences中读取所选的值。

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.getString(yourkey, "defvalue");

您也可以订阅onClick事件,并使用提到的代码Rpond。

如果您的列表显示在对话框中,则需要指定一个OnClickListener,它将调用onClick方法。 检查下面的示例。 在示例中,传递给onClick的索引是数组中该项的索引。

new AlertDialog.Builder(this).setTitle("Settings").setItems(R.array.colors, new DialogInterface.onClickListener() { void onClick(DialogInterface d, int index) {
switch(index) {
CASE 0: // do something
CASE 1: // do something else}}}; 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM