android preferenceactivity 源码,PreferenceActivity PreferenceScreen (3.0/API 11 以前)

Android提供了一个XML驱动的框架,用于为应用程序创建系统样式的PreferenceScreen.

(3.0/API 11 以前)是这样使用的

看代码:

mypreference.xml

android:key="PREF_AUTO_REFRESH"

android:defaultValue="true"

android:summary="select to turn on automatic updating"

android:title="Auto Refresh" />

MainActivity.java

package com.example.preferencedemo;

import android.content.SharedPreferences;

import android.content.SharedPreferences.OnSharedPreferenceChangeListener;

import android.os.Bundle;

import android.preference.PreferenceActivity;

import android.preference.PreferenceManager;

import android.util.Log;

import android.view.Menu;

//当SharedPreferences发生变化的时候,可以监听其变化,并作出相应的处理

public class MainActivity extends PreferenceActivity implements

OnSharedPreferenceChangeListener {

private SharedPreferences mSharedPreferences;

private boolean mIsAutoRefresh;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

this.addPreferencesFromResource(R.xml.mypreference);

// 为PreferenceActivity中的选项记录的SharedPreferences值被存在app沙箱中,

// 这使得任何app组件都可以访问它(Activity/Service/BroadcastReceiver)

mSharedPreferences = PreferenceManager

.getDefaultSharedPreferences(this);

// 需要注册哦

mSharedPreferences.registerOnSharedPreferenceChangeListener(this);

mIsAutoRefresh = mSharedPreferences.getBoolean("PREF_AUTO_REFRESH",

false);

Log.d("test", "isAutoRefresh: " + mIsAutoRefresh);

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

@Override

public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,

String key) {

Log.d("test", "key: " + key);

//根据其值,可以做相应的处理

//这个值改过以后,是会被存下来哦~~存在某个.xml文件夹中的

mIsAutoRefresh = mSharedPreferences.getBoolean(key, false);

Log.d("test", "isAutoRefresh: " + mIsAutoRefresh);

}

}

PS: bc2d1fc598a33d0e7a50ec78e6d211e1.png

源代码:

http://download.csdn.net/detail/null1989/6454243

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值