PreferenceActivity简单使用app设置页
来源:互联网 发布:七星彩庄家统计软件 编辑:程序博客网 时间:2024/05/18 01:50
PreferenceActivity一般用来实现app的设置页
如图:
PreferenceActivity就是用SharedPreference的形式存储用户的偏好设置。
PreferenceActivity通过读取xml的方式来显示页面,控件都是封装好的,实用起来特别方便。
1.先在res下新建一个xml文件 preference.xml
<?xml version="1.0" encoding="UTF-8"?><PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >//根节点 <PreferenceCategory android:title="FirstCategory" >//分割线隔开的一个一个分类 <ListPreference android:defaultValue="list key default values" android:dialogTitle="list_dialog_title" android:entries="@array/list_array" android:entryValues="@array/list_array" //单选的list android:key="list_key" android:summary="list summary" android:title="list title" > </ListPreference> </PreferenceCategory> <PreferenceCategory android:title="Second Category" > <EditTextPreference android:defaultValue="edit default value" android:key="edit_text_key" //编辑框样式 android:summary="edit summary" android:title="edit_title" > </EditTextPreference> <CheckBoxPreference android:defaultValue="checkbox default value" android:key="checkbox_key" android:summary="checkbox_summary" //复选框样式 android:title="checkbox_title" /> <EditTextPreference android:defaultValue="0" android:key="num_key" android:numeric="integer" android:summary="edit summary" android:title="input number" /> <PreferenceScreen android:summary="more..." android:title="more" > <PreferenceCategory android:title="more_title" > //嵌套一个根节点,实际点击的时候跳转新的一个屏幕 <CheckBoxPreference android:defaultValue="abcd" android:key="more_key" android:summary="more_key" android:title="MORE" /> </PreferenceCategory> </PreferenceScreen> </PreferenceCategory></PreferenceScreen>
2.新建MyPreferenceActivity 继承 PreferenceActivity
在onCreatefang方法中addPreferencFromResource(int id)加载xml
实例化,实现OnSharedPreferenceChangeListener当值发生变化是可改变控件的值,
在onResum中初始化控件的值
public class MyPreferenceActivity extends PreferenceActivity implementsOnSharedPreferenceChangeListener {private ListPreference mListPreference;private EditTextPreference mEditTextPreference, mNumPreference;private CheckBoxPreference mBoxPreference;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);addPreferencesFromResource(R.xml.preference);initPreference();}private void initPreference() {mListPreference = (ListPreference) findPreference("list_key");mEditTextPreference = (EditTextPreference) findPreference("edit_text_key");mNumPreference = (EditTextPreference) findPreference("num_key");mBoxPreference = (CheckBoxPreference) findPreference("checkbox_key");}@Overrideprotected void onResume() {// TODO Auto-generated method stubsuper.onResume();SharedPreferences mSharedPreferences = getPreferenceScreen().getSharedPreferences();mListPreference.setSummary(mSharedPreferences.getString("list_key", ""));mEditTextPreference.setSummary(mSharedPreferences.getString("edit_text_key", ""));// mNumPreference.setSummary(mSharedPreferences.getInt("num_key", 0));// mBoxPreference.setSummary(mSharedPreferences.getString("checkbox_key",// ""));mSharedPreferences.registerOnSharedPreferenceChangeListener(this);}@Overrideprotected void onPause() {// TODO Auto-generated method stubsuper.onPause();getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);}@Overridepublic void onSharedPreferenceChanged(SharedPreferences arg0, String arg1) {if (arg1.equals("edit_text_key")) {mEditTextPreference.setSummary(arg0.getString("edit_text_key", "20"));} else if (arg1.equals("list_key")) {mListPreference.setSummary(arg0.getString("list_key", ""));}}}
0 0
- PreferenceActivity简单使用app设置页
- Android PreferenceActivity简单使用
- 使用PreferenceActivity设置应用程序参数
- 设置PreferenceActivity
- Android 偏好设置 PreferenceActivity 小于3.0使用
- Android之设置页面(PreferenceActivity使用)
- Android——PreferenceActivity简单使用
- PreferenceActivity(首选项设置页)
- PreferenceActivity(首选项设置页)
- PreferenceActivity系统本身的设置页
- PreferenceActivity(首选项设置页)
- PreferenceActivity(首选项设置页)
- PreferenceActivity使用
- PreferenceActivity使用
- PreferenceActivity使用
- 设置中用到的简单好用的PreferenceActivity
- Android仿QQ的设置与帮助使用PreferenceActivity 与 自定义PreferenceActivity
- Android的设置界面:SharedPreferences和PreferenceActivity的使用
- 第16周项目4—为动态数组扩容
- Cocos2d-x中libcurl库的使用(2)curl_easy API的介绍
- /etc/init.d/rcS内容分析
- 【Android安全】Android软件保护措施总结
- Mongodb数据的备份与恢复
- PreferenceActivity简单使用app设置页
- 异常结构体EXCEPTION_RECORD structure
- 音视频开发的P2P技术
- 正则表达式三十分钟入门教程
- 第16周项目2-字符串的连接
- 梵蒂冈的韩国韩华
- 大话设计模式C++实现-第6章-装饰模式
- 在iOS中将string转成UTF-8编码
- cocos2dx设置监听Android的返回键、Home键