Android的配置界面PreferenceActivity
2015-10-29 11:15
429 查看
原文地址:/article/5753559.html
我想大家对于android的系统配置界面应该不会陌生吧,即便陌生,那么下面的界面应该似曾相识吧,假若还是不认识,那么也没有关系,我们这一节主要就是介绍并讲解android 中系统配置界面的使用,相信大家看完本节后,一定能知道怎么使用这些东西了。
从上述代码可知:
1:设置显示Preferences可以调用方法addPreferencesFromResource(R.xml.preference); 传递preference文件即可。
2:然后通过findPreference();方法找到键的类标签
3:我们定义2个监听接口监听参数是否设置成功。
4:在监听接口中返回true就是设置允许提交。
结果打印如下:
成功!
也许你会问,我们这里并没有使用
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
settings.getXXXX();settings.putXXXX();以及commit()等方法,设置、获取并提交值啊?!是的,在这里我们不需这样,因为
当PreferenceActivity中的内容改变时,Android系统会自动进行保存和持久化维护,我们只需要在要用的设置界面中数据的地方进行读取就可以了。
当然,您可以在其他界面使用SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);等类方法来获取数据,看能不能获取到
我想大家对于android的系统配置界面应该不会陌生吧,即便陌生,那么下面的界面应该似曾相识吧,假若还是不认识,那么也没有关系,我们这一节主要就是介绍并讲解android 中系统配置界面的使用,相信大家看完本节后,一定能知道怎么使用这些东西了。
package com.dongzi; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.CheckBoxPreference; import android.preference.EditTextPreference; import android.preference.ListPreference; import android.preference.Preference; import android.preference.Preference.OnPreferenceChangeListener; import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceManager; import android.preference.PreferenceActivity; import android.util.Log; public class PreferenceActivityDemoActivity extends PreferenceActivity implements OnPreferenceChangeListener,OnPreferenceClickListener{ static final String TAG="PreferenceActivityDemoActivity"; SharedPreferences preference=null; CheckBoxPreference updateCheckBoxPreference=null; ListPreference lististPreference=null; CheckBoxPreference isneilflag_CheckBoxPreference=null; EditTextPreference usernameEditTextPreference=null; EditTextPreference passwordEditTextPreference=null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //设置显示Preferences addPreferencesFromResource(R.xml.preference); //获得SharedPreferences preference=PreferenceManager.getDefaultSharedPreferences(this); //找到preference对应的Key标签并转化 updateCheckBoxPreference=(CheckBoxPreference)findPreference(getString(R.string.update_key)); lististPreference=(ListPreference)findPreference(getString(R.string.auto_update_frequency_key)); isneilflag_CheckBoxPreference=(CheckBoxPreference)findPreference(getString(R.string.isneilflag_key)); usernameEditTextPreference=(EditTextPreference)findPreference(getString(R.string.username_key)); passwordEditTextPreference=(EditTextPreference)findPreference(getString(R.string.password_key)); //为Preference注册监听 updateCheckBoxPreference.setOnPreferenceChangeListener(this); updateCheckBoxPreference.setOnPreferenceClickListener(this); lististPreference.setOnPreferenceClickListener(this); lististPreference.setOnPreferenceChangeListener(this); isneilflag_CheckBoxPreference.setOnPreferenceChangeListener(this); isneilflag_CheckBoxPreference.setOnPreferenceClickListener(this); usernameEditTextPreference.setOnPreferenceChangeListener(this); passwordEditTextPreference.setOnPreferenceChangeListener(this); } @Override public boolean onPreferenceClick(Preference preference) { //判断是哪个Preference改变了 if(preference.getKey().equals(getString(R.string.update_key))){ Log.e(TAG, getString(R.string.update_key)); }else if(preference.getKey().equals(getString(R.string.isneilflag_key))){ Log.e(TAG, getString(R.string.isneilflag_key)); } //返回true表示允许改变 return true; } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { //判断是哪个Preference改变了 if(preference.getKey().equals(getString(R.string.username_key))){ //账号 Log.e(TAG, getString(R.string.username_key)); }else if(preference.getKey().equals(getString(R.string.password_key))){ //密码 Log.e(TAG, getString(R.string.password_key)); }else if(preference.getKey().equals(getString(R.string.auto_update_frequency_key))){ //列表 Log.e(TAG, getString(R.string.auto_update_frequency_key)); } //返回true表示允许改变 return true; } }
从上述代码可知:
1:设置显示Preferences可以调用方法addPreferencesFromResource(R.xml.preference); 传递preference文件即可。
2:然后通过findPreference();方法找到键的类标签
3:我们定义2个监听接口监听参数是否设置成功。
4:在监听接口中返回true就是设置允许提交。
结果打印如下:
成功!
也许你会问,我们这里并没有使用
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
settings.getXXXX();settings.putXXXX();以及commit()等方法,设置、获取并提交值啊?!是的,在这里我们不需这样,因为
当PreferenceActivity中的内容改变时,Android系统会自动进行保存和持久化维护,我们只需要在要用的设置界面中数据的地方进行读取就可以了。
当然,您可以在其他界面使用SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);等类方法来获取数据,看能不能获取到
相关文章推荐
- Android开发中,那些让你觉得相见恨晚的方法、类或接口
- android 学习之popupWindow 在指定位置上的显示,进出样式。
- android imageview 显示方式设置
- 百度地图sdk Android部署方法
- Android View的事件分发机制
- android 签名、混淆打包
- android混淆打包
- android API源码
- 2015年最新Android基础入门教程目录(临时版)
- Android实战简易教程-第六十九枪(自定义控件实现雪花飘落效果)
- 客户端与服务端Socket通信原理详解
- android瓦片地图技术研究
- Android配置清单文件Manifest.xml的常用设置
- Android视频录制命令screenrecord
- android 签名和混淆打包
- 解读:在命令情况下使用Android NDK交叉编译工具
- 解读:在命令情况下使用Android NDK交叉编译工具
- android开发关于和使用本机内存,内置存储卡和外置存储卡
- 安卓开发学习之011 GridLayout详解+计算器实现
- Android之AsyncTask轻量级异步类(笔记)