博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android preferenceActivity的用法
阅读量:4678 次
发布时间:2019-06-09

本文共 2661 字,大约阅读时间需要 8 分钟。

首先让大家看图  看到这张图是 不是很熟悉 我想大家应该会好奇他是怎么实现  咋一看是不是觉得实现起来有点困难 因为各个按钮之间会绑定牵连在一起

原来android内部提供更容易的实现他的方法
也就是preferenceActivity该类封装了sharedpreferences所以他的所有子类都具有保存key-value对的能力
比较常用的设置项 有三类:
1、checkboxpreferences
2、edittextpreferences
3、listviewpreferences
好了 直接看列子吧
分2步:
1、在res目录下建一个xml目录  并在该目录下新建一个preferences_setting.xml

2 、java文件:

package net.blogjava.mobile; import android.content.SharedPreferences;import android.os.Bundle;import android.preference.Preference;import android.preference.PreferenceActivity;import android.preference.PreferenceScreen;import android.preference.Preference.OnPreferenceChangeListener; public class Main extends PreferenceActivity implements                OnPreferenceChangeListener{        /** Called when the activity is first created. */         @Override        public void onCreate(Bundle savedInstanceState)        {                super.onCreate(savedInstanceState);                getPreferenceManager().setSharedPreferencesName("setting");                addPreferencesFromResource(R.xml.preference_setting);                Preference individualNamePreference = findPreference("individual_name");                SharedPreferences sharedPreferences= individualNamePreference.getSharedPreferences();                individualNamePreference.setSummary(sharedPreferences.getString("individual_name", ""));                if (sharedPreferences.getBoolean("yesno_save_individual_info", false))                         individualNamePreference.setEnabled(true);                else                         individualNamePreference.setEnabled(false);                individualNamePreference.setOnPreferenceChangeListener(this);                          }         public boolean onPreferenceChange(Preference preference, Object newValue)        {                preference.setSummary(String.valueOf(newValue));                                return true;        }         @Override        public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,                        Preference preference)        {                 if ("yesno_save_individual_info".equals(preference.getKey()))                {                        findPreference("individual_name").setEnabled(                                        !findPreference("individual_name").isEnabled());                }                return super.onPreferenceTreeClick(preferenceScreen, preference);        }}

 

 

 

 

转载于:https://www.cnblogs.com/nuliniaoboke/archive/2013/01/29/2881366.html

你可能感兴趣的文章
搭建基于hyperledger fabric的联盟社区(四) --chaincode开发
查看>>
(转载)一位资深程序员大牛给予Java初学者的学习建议
查看>>
sublime text 设置
查看>>
javascript 设置cookie(转)
查看>>
xftp Initialize Flexnet Service failed / Error code: 50003
查看>>
【软件技巧】Sublime Text为不同语法定义不同高亮
查看>>
iframe的滚动栏问题:显示/隐藏滚动栏
查看>>
reactor模式:单线程的reactor模式
查看>>
Pair_Work Project
查看>>
单例设计模式
查看>>
Django Class Based View
查看>>
tcp 拥塞控制机制
查看>>
python学习笔记(十五)-异常处理
查看>>
路径+DataRow+SqlPara防止sql注入
查看>>
Internet History, Technology and Security (Week5.1)
查看>>
MySQL查询in操作 查询结果按in集合顺序显示_Mysql_脚本之家
查看>>
解释型语言与编译型语言
查看>>
redis主从复制
查看>>
SQLite之登录注册
查看>>
Linux就该这么学(3)-管道符、重定向与环境变量(学习笔记)
查看>>