PreferenceActivity简单使用app设置页
2014-12-11 14:54
281 查看
PreferenceActivity一般用来实现app的设置页
如图:
PreferenceActivity就是用SharedPreference的形式存储用户的偏好设置。
PreferenceActivity通过读取xml的方式来显示页面,控件都是封装好的,实用起来特别方便。
1.先在res下新建一个xml文件 preference.xml
2.新建MyPreferenceActivity 继承 PreferenceActivity
在onCreatefang方法中addPreferencFromResource(int id)加载xml
实例化,实现OnSharedPreferenceChangeListener当值发生变化是可改变控件的值,
在onResum中初始化控件的值
如图:
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 implements OnSharedPreferenceChangeListener { private ListPreference mListPreference; private EditTextPreference mEditTextPreference, mNumPreference; private CheckBoxPreference mBoxPreference; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.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"); } @Override protected void onResume() { // TODO Auto-generated method stub super.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); } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); getPreferenceScreen().getSharedPreferences() .unregisterOnSharedPreferenceChangeListener(this); } @Override public 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", "")); } } }
相关文章推荐
- PreferenceActivity简单使用app设置页
- (安卓APP)关于使用偏好设置储存数据,首次登录应用到新手指导页,再次登录直接到主页面简单的相关实现代码
- [转]使用简单的 5 个步骤设置 Web 服务器集群
- [转]使用简单的 5 个步骤设置 Web 服务器集群
- 使用简单的5个步骤设置 Web服务器集群
- Tomcat的JVM设置和连接数设置 使用Tomcat Web App Manager
- 【转】解压缩版tomcat配置及使用(环境变量设置及测试,一个简单的web应用实例)
- vs2010 "行号显示"设置(vs简单使用)
- 使用OpenXML简单设置Excel单元格格式
- Python环境变量PYTHONPATH设置和easy_install简单使用
- 如何使用Core Text创建一个简单的杂志图书App
- Ant安装设置,简单使用测试
- 自动切换IE代理设置: 简单使用IE自动配置脚本
- 自动切换IE代理设置: 简单使用IE自动配置脚本
- vs2010 "行号显示"设置(vs简单使用)
- [转]使用简单的 5 个步骤设置 Web 服务器集群
- 使用简单的 5 个步骤设置 Web 服务器集群
- ASP-kingCMS-v5.1 LTS使用(一)下载,安装,简单设置
- 使用简单的 5 个步骤设置 Web 服务器集群
- 使用C++与SFML编写一个简单的撞球游戏Part1——新建工程以及设置