Android PreferenceActivity用法

运行结果:
[img]http://dl.iteye.com/upload/attachment/536602/2768b06d-283b-31a6-b5a9-d2fcb399d74d.jpg[/img]
[img]http://dl.iteye.com/upload/attachment/536604/0bc1174a-81a4-3a85-9c90-57748005fe8c.jpg[/img]

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="PreferenceCategory 1">
<CheckBoxPreference android:key="CheckBox1"
android:title="CheckBox" android:summaryOn="某功能: 开启"
android:summaryOff="某功能: 关闭" android:defaultValue="true" />
</PreferenceCategory>
<PreferenceCategory android:title="PreferenceCategory 2">
<PreferenceScreen android:title="二级PreferenceScreen">
<CheckBoxPreference android:key="CheckBox2"
android:title="CheckBox" android:summaryOn="某功能: 开启"
android:summaryOff="某功能: 关闭" android:defaultValue="true" />
</PreferenceScreen>
</PreferenceCategory>
<PreferenceCategory android:title="PreferenceCategory 3">
<ListPreference android:key="ListPreference"
android:title="ListPreference" android:summary="ListPreference测试"
android:dialogTitle="ListPreference" android:entries="@array/entries_list_preference"
android:entryValues="@array/entriesvalue_list_preference" />
<EditTextPreference android:key="EditTextPreference"
android:title="EditTextPreference" android:summary="点击输入"
android:dialogTitle="输入设置" />
<RingtonePreference android:key="RingtonePreference"
android:title="RingtonePreference" android:summary="选择铃声" />
</PreferenceCategory>
</PreferenceScreen>


array.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="entries_list_preference">
<item>test1</item>
<item>test2</item>
<item>test3</item>
</string-array>
<string-array name="entriesvalue_list_preference">
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
</resources>


activity.java

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.layout.main);
}


以上是PreferenceActivity的xml描述,那么在程序中我们只需要新建一个继承自PreferenceActivity的Activity,然后在主程序中调用就可以了。这个PreferenceActivity中的设置存储是完全自动的,你不需要再用代码去实现设置的存储,PreferenceActivity创建后会自动创建一个配置文件/data/data/you_package_name/shared_prefs/you_package_name_you_xml_name.xml。上例中自动生成的配置文件如下:

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="EditTextPreference">12332312</string>
<string name="ListPreference">2</string>
<string name="RingtonePreference">content://settings/system/ringtone</string>
<boolean name="CheckBox1" value="true" />
<boolean name="CheckBox2" value="true" />
</map>


要取得其中的值可以通过如下的方法:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
value = prefs.getString("ListPreference", "unset");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值