您的位置:首页 > Web前端

PreferenceActivity 的使用

2013-04-10 15:53 393 查看

每一个软件都会有设置界面,如果直接使用Activity来操作设置界面的话,就非常麻烦,Android给我们提供了一个这样的类PreferenceActivity来生成设置界面,非常的简单,而且每次的操作都会自动保存进SharedPreference.

在res/xml文件夹下,新建一个xml文件,资源类型选择Preference,根元素选择PreferenceScreen



接下来就可以在xml文件中添加我们需要的元素.Android给我们提供的节点主要有以下几种:

<CheckBoxPreference /> CheckBox选择项,默认值为true或false

<EditTextPreference />输入编辑框,会弹出一个对话框让我们输入内容,值类型为String

<ListPreference />列表选择,会弹出一个列表供用户选择

<Preference />进行文本显示,需要配合其他条目使用,通过android:dependency=""属性来设置

<PreferenceCategory >用于分类

<RingtonePreference />系统铃声选择

xml文件写好以后,创建一个Java类,让它继承PreferenceActivity,就可以使用该XML文件了.

普通的Activity都是使用setContentView()的方法来加载XML文件,而PreferenceActivity是使用addPreferenceFromResource()方法来加载XML文件

下图为效果图和各属性之间的对应关系.



对于点击事件的监听,只需要重写一个方法就可以了

@Override

public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {

// TODO Auto-generated method stub

return super.onPreferenceTreeClick(preferenceScreen, preference);

}

对于ListPreference,有两个属性需要注意:

android:entries="@array/a"我们在界面上看到的值

android:entryValues="@array/b"实际保存在首选项中的值

这两个属性引用的数组,需要在res/values中新建一个xml来对应,

例如:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="a">
<item>Q</item>
<item>W</item>
<item>E</item>
</string-array>
<string-array name="b">
<item>001</item>
<item>002</item>
<item>003</item>
</string-array>
</resources>


源代码:

https://github.com/los8won/preferenceActivityTest.git

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: