这篇文章主要介绍了机器人编程之列表首选项用法,结合实例形式较为详细的分析说明了列表首选项的功能、用法及相关注意事项,需要的朋友可以参考下
本文实例讲述了机器人编程之列表首选项用法。分享给大家供大家参考,具体如下:
先展示一下效果图,如下所示:
项目代码如下:
包com。我的。列表首选项;
导入安卓。OS。捆绑;
导入安卓。偏好。列表首选项;
导入安卓。偏好。偏好;
导入安卓。偏好。偏好。onpreferencechangelistener
导入安卓。偏好。偏好活动;
公共类ListPreferenceTest扩展偏好活动实现OnPreferenceChangeListener{
/**首次创建活动时调用。*/
ListPreference lp//创建一个列表首选项对象
@覆盖
创建时的公共void(绑定保存的实例状态){
超级棒。oncreate(savedInstanceState);
//过滤已经的可扩展标记语言文件资源,并将当前的偏爱层添加到这个偏爱层当中
addPreferencesFromResource(r . XML。偏好);
//初始化这个列表首选项对象
LP=(list preference)find preference(getString(r . string。key _ str));
//设置获取列表首选项中发生的变化
LP。setonpreferencechangelistener(this);
/**让列表首选项中的摘要内容(即总结)显示为当前列表首选项中的实体对应的值
* 这个方法的作用是为了当下一次打开这个程序时会显示上一次的设置的摘要(摘要)
* 如果没有添加这个方法,当再次打开这个程序时,它将不会显示上一次程序设置的值,而
* 是显示默认值*/
LP。设置摘要(LP。getentry());
}
//让所选择的项显示出来,获取变化并显示出来
@覆盖
public boolean onPreferenceChange(Preference Preference,Object newValue) {
//TODO自动生成的方法存根
列表首选项的首选项实例){
//把偏爱这个偏爱强制转化为列表首选项类型
list preference list preference=(list preference)preference;
//获取列表首选项中的实体内容
char sequence[]entries=列表首选项。获取条目();
//获取列表首选项中的实体内容的下标值
int index=列表首选项。findindexofvalue((String)新值);
//把列表首选项中的摘要显示为当前列表首选项的实体内容中选择的那个项目
列表首选项。设置摘要(条目[索引]);
}
返回真实的
}
}
资源值。字符串。可扩展标记语言中的内容如下:
?可扩展标记语言版本='1.0 '编码='utf-8 '?
资源
string name='hello'Hello World,ListPreferenceTest!/string
string name=' app _ name ' listpreferencetest/string
string name='key_str'key/string
string name='title_str '你最喜欢的蔬菜/string
字符串名称='标题列表首选项'选择蔬菜/string
字符串数组名称='entries_str '
项目白菜/项目
项目萝卜/项目
项目豆芽/项目
项目芹菜/项目
/字符串数组
string-array name=' entries _ values _ str '
物品白菜/物品
项目罗布/项目
项目豆雅/项目
项目蔡琴/项目
/字符串数组
string name=' default _ str ' baicai/string
string name='dialog_title '请选择你喜欢的蔬菜/string
string name='summary_str '白菜/string
/资源
res.xml.preference.xml中的内容如下:
?可扩展标记语言版本='1.0 '编码='utf-8 '?
首选项屏幕xmlns:Android=' http://模式。安卓。' com/apk/RES/Android '
偏好类别Android:title=' @ string/title _ str '
列表首选项
android:key='@string/key_str '
Android:title=' @ string/title _ list preference '
Android:entries=' @ array/entries _ str '
Android:entry values=' @ array/entries _ values _ str '
Android:dialog title=' @ string/dialog _ title '
Android:默认值=' @ string/default _ str '
Android:summary=' @ string/summary _ str '
/
/首选类别
/首选屏幕
上述程序中需要注意的事项:
1.必须要有Android:entry values=' @ array/entries _ values _ str '与Android:entries=' @ array/entries _ str '相对应
2 .Android:默认值=' @ string/default _ str '中的默认_字符串必须为条目_字符串中的一个选项
3 .LP=(list preference)find preference(getString(r . string。key _ str));这里的获取的字符串的内容必须为key_str,否则会出来NullPointException的错误(即初始化不成功的错误)。因为android:key='@string/key_str '相当于android:id=' '
希望本文所述对大家机器人程序设计有所帮助。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。