PreferenceFragment或PreferenceActivity使用笔记

摘自:http://gundumw100.iteye.com/blog/904097

只有步骤,记录备用:

XML布局文件:

部分具体元素含义:

PreferenceScreen:一屏(xml最外层也是一个PreferenceScreenPreferenceCategory:一组
CheckBoxPreference:复选框
EditTextPreference:编辑框(弹出窗口)
ListPreference:单选列表(弹出窗口)
intent:启动一个activity(action/data固定目标)

实现到页面

写好布局文件之后,在PreferenceFragment或PreferenceActivity的实现类中使用:

addPreferencesFromResource(R.xml.布局文件); 

来把布局文件实现到界面中

对控件事件进行监听:

注释:
如同使用SharedPreference一样,会生成记录设置的配置文件,存储在对应包的文件夹下
不过不用手动写入或读取具体配置,PreferenceFragment或PreferenceActivity机制自行完成写入和读取

首先获取SharedPreference对象:

sp = PreferenceManager.getDefaultSharedPreferences(this);

然后注册监听:

sp.registerOnSharedPreferenceChangeListener(new OnSharedPreferenceChangeListener(){
    //sharedPreferences:句柄  
    //key:通过xml中的key判断那个控件发生了改变
    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
        if(key.equals("autoBack")){
            Boolean autoBack = sharedPreferences.getBoolean("autoBack", false);  
            if(autoBack){  
                Log.d("TAG","autoBack: true!");  
             }  
            else {  
                Log.d("TAG","autoBack: false!");  
            }  
        }
    }  
});  

手动获取或修改配置文件中的键值

首先SharedPreferences实例:

spc=this.getSharedPreferences("com.android.PreferenceActivity.Usage_preferences.xml", MODE_WORLD_READABLE );  

取值 :

Boolean autoBack = spc.getBoolean("autoBack", false);

赋值:

public void putValue(String key, Boolean value){  
    spe = spc.edit();  
    spe.putBoolean(key, value);  
    spe.commit();  
}  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值