具体与Preference的用法类似,这里就不做过多解释,直接贴示例代码,需要在res下新建xml文件夹,在xml文件夹下添加xml文件。

  xml:(注意:root节点是:PreferenceScreen)

 1 <?xml version="1.0" encoding="utf-8"?> 2 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > 3  4     <!-- 类别 --> 5     <PreferenceCategory 6         android:key="mylocation" 7         android:summary="我的位置源" 8         android:title="我的位置" > 9 10         <!-- 可以加各种其他控件如 :CheckBoxPreference -->11         <CheckBoxPreference12             android:key="wireless_network"13             android:summary="使用无线网络查看应用程序(例如Google地图中的位置)"14             android:title="使用无线网络" />15         <CheckBoxPreference16             android:key="gps_satellite_setting"17             android:summary="定位时,精确到接到级别(取消选择可节约电量)"18             android:title="启用GPS卫星导航" />19     </PreferenceCategory>20     <PreferenceCategory21         android:key="myMessage"22         android:summary="个人信息设置"23         android:title="个人信息设置" >24         <CheckBoxPreference25             android:key="yesno_save_individual_info"26             android:title="是否保存个人信息" />27 28         <EditTextPreference29             android:key="individual_name"30             android:summary="请输入真实姓名"31             android:title="姓名" />32 33         <ListPreference34             android:entries="@array/citys"35             android:entryValues="@array/citys"36             android:key="mycity"37             android:summary="所属城市"38             android:title="城市列表" />39     </PreferenceCategory>40 41 </PreferenceScreen>
setting.xml

  activity

 1 package com.example.android_data_storage_share2; 2  3 import android.os.Bundle; 4 import android.preference.CheckBoxPreference; 5 import android.preference.EditTextPreference; 6 import android.preference.ListPreference; 7 import android.preference.Preference; 8 import android.preference.Preference.OnPreferenceChangeListener; 9 import android.preference.PreferenceActivity;10 import android.preference.PreferenceScreen;11 import android.widget.Toast;12 13 /**14  * @author xiaowu15  * @NOTE: 状态改变后的自动文件存储 需要继承PreferenceActivity的类和实现OnPreferenceChangeListener接口,重写onPreferenceTreeClick方法进行业务逻辑处理16  */17 public class MainActivity extends PreferenceActivity implements18         OnPreferenceChangeListener {19 20     @Override21     protected void onCreate(Bundle savedInstanceState) {22         super.onCreate(savedInstanceState);23         // setContentView(R.layout.activity_main);24         // 加载设置的底层界面 API11之前可以使用下面的方式,而高版本使用perferenceFragment,25         addPreferencesFromResource(R.xml.setting);26         //得到屏幕管理器并设置它的名称27 //        getPreferenceManager().setSharedPreferencesName("mysetting2");28 //        addPreferencesFromResource(R.xml.mysetting);29     }30 31     // 通过preference找到某个节点32     @Override33     public boolean onPreferenceChange(Preference preference, Object newValue) {34         // TODO Auto-generated method stub35         return false;36     }37 38     // 如果需要勾选一项后,其他项不可用,需要重写方法onPreferenceTreeClick(PreferenceScreen39     // preferenceScreen,Preference preference),并在该方法中处理业务逻辑40     @Override41     @Deprecated42     public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,43             Preference preference) {44         if ("yesno_save_individual_info".equals(preference.getKey())) {45             CheckBoxPreference checkBoxPreference = (CheckBoxPreference) findPreference("yesno_save_individual_info");46             EditTextPreference editTextPreference = (EditTextPreference) findPreference("individual_name");47             editTextPreference.setEnabled(checkBoxPreference.isChecked());48             // ListPreference listPreference = (ListPreference)49             // findPreference("mycity");50             // listPreference.setEnabled(false);51         }52         // TODO Auto-generated method stub53         return super.onPreferenceTreeClick(preferenceScreen, preference);54     }55 56 }

  效果展示:

  

更多相关文章

  1. Android(安卓)ApiDemos示例解析(101):Views->Auto Complete->3.
  2. React-Native-StatusBar
  3. android API Window类
  4. android 3D系列之光效篇
  5. android:三种菜单(Menu)的设置
  6. Android(安卓)设备管理器 理解和使用
  7. Android(安卓)fragment 重叠问题,闪退后fragment重叠bug解决方法
  8. Android入门笔记 - 网络通信 - HttpClient
  9. 模仿墨迹天气设置界面布局

随机推荐

  1. 一个hello程序的android内核模块编译方法
  2. Android中用GridView实现九宫格
  3. 浅析android中的Bundle类
  4. Android碎片化机制
  5. 在ubuntu下搭建Android的开发环境
  6. 技术/源码/开源网站
  7. Android培训班(18)
  8. Android 混合H5开发两种模式
  9. android studio,Gradle配置: RxJava失败
  10. Android studio添加jar包