PreferenceActivity PreferenceFragment preference-headers

PreferenceActivity类包括 preference-headers中定义的PreferenceFragment层次结构。 3.0 以后哦~

FragmentPreferences.java

  1. <span style="font-size: 14px;">package com.example.preferencedemo;  
  2.   
  3. import java.util.List;  
  4.   
  5. import android.preference.PreferenceActivity;  
  6.   
  7. public class FragmentPreferences extends PreferenceActivity {  
  8.   
  9.     @Override  
  10.     public void onBuildHeaders(List<Header> target) {  
  11.         this.loadHeadersFromResource(R.xml.preferenceheaders, target);  
  12.     }  
  13.   
  14. }  
  15. </span>  
<span style="font-size:14px;">package com.example.preferencedemo;

import java.util.List;

import android.preference.PreferenceActivity;

public class FragmentPreferences extends PreferenceActivity {

	@Override
	public void onBuildHeaders(List<Header> target) {
		this.loadHeadersFromResource(R.xml.preferenceheaders, target);
	}

}
</span>

preferenceheaders.xml

  1. <span style="font-size: 14px;"><?xml version="1.0" encoding="utf-8"?>  
  2. <preference-headers xmlns:android="http://schemas.android.com/apk/res/android" >  
  3.   
  4.     <header  
  5.         android:fragment="com.example.preferencedemo.UserPreferenceFragment"  
  6.         android:summary="refresh settings"  
  7.         android:title="settings" >  
  8.     </header>  
  9.   
  10. </preference-headers></span>  
<span style="font-size:14px;"><?xml version="1.0" encoding="utf-8"?>
<preference-headers xmlns:android="http://schemas.android.com/apk/res/android" >

    <header
        android:fragment="com.example.preferencedemo.UserPreferenceFragment"
        android:summary="refresh settings"
        android:title="settings" >
    </header>

</preference-headers></span>


UserPreferenceFragment,java

  1. <span style="font-size: 14px;">package com.example.preferencedemo;  
  2.   
  3. import android.content.SharedPreferences;  
  4. import android.content.SharedPreferences.OnSharedPreferenceChangeListener;  
  5. import android.os.Bundle;  
  6. import android.preference.PreferenceFragment;  
  7. import android.preference.PreferenceManager;  
  8. import android.util.Log;  
  9.   
  10. public class UserPreferenceFragment extends PreferenceFragment implements  
  11.         OnSharedPreferenceChangeListener {  
  12.   
  13.     private SharedPreferences mSharedPreferences;  
  14.     private boolean mIsAutoRefresh;  
  15.   
  16.     @Override  
  17.     public void onCreate(Bundle savedInstanceState) {  
  18.         super.onCreate(savedInstanceState);  
  19.   
  20.         this.addPreferencesFromResource(R.xml.mypreference);  
  21.   
  22.         // 为PreferenceActivity中的选项记录的SharedPreferences值被存在app沙箱中,  
  23.         // 这使得任何app组件都可以访问它(Activity/Service/BroadcastReceiver)  
  24.         mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this  
  25.                 .getActivity());  
  26.   
  27.         // 需要注册哦  
  28.         mSharedPreferences.registerOnSharedPreferenceChangeListener(this);  
  29.   
  30.         mIsAutoRefresh = mSharedPreferences.getBoolean("PREF_AUTO_REFRESH",  
  31.                 false);  
  32.         Log.d("test""isAutoRefresh: " + mIsAutoRefresh);  
  33.     }  
  34.   
  35.     @Override  
  36.     public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,  
  37.             String key) {  
  38.         Log.d("test""key: " + key);  
  39.         // 根据其值,可以做相应的处理  
  40.         // 这个值改过以后,是会被存下来哦~~存在某个.xml文件夹中的  
  41.         mIsAutoRefresh = mSharedPreferences.getBoolean(key, false);  
  42.         Log.d("test""isAutoRefresh: " + mIsAutoRefresh);  
  43.     }  
  44. }  
  45. </span>  
<span style="font-size:14px;">package com.example.preferencedemo;

import android.content.SharedPreferences;
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.os.Bundle;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
import android.util.Log;

public class UserPreferenceFragment extends PreferenceFragment implements
		OnSharedPreferenceChangeListener {

	private SharedPreferences mSharedPreferences;
	private boolean mIsAutoRefresh;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		this.addPreferencesFromResource(R.xml.mypreference);

		// 为PreferenceActivity中的选项记录的SharedPreferences值被存在app沙箱中,
		// 这使得任何app组件都可以访问它(Activity/Service/BroadcastReceiver)
		mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this
				.getActivity());

		// 需要注册哦
		mSharedPreferences.registerOnSharedPreferenceChangeListener(this);

		mIsAutoRefresh = mSharedPreferences.getBoolean("PREF_AUTO_REFRESH",
				false);
		Log.d("test", "isAutoRefresh: " + mIsAutoRefresh);
	}

	@Override
	public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
			String key) {
		Log.d("test", "key: " + key);
		// 根据其值,可以做相应的处理
		// 这个值改过以后,是会被存下来哦~~存在某个.xml文件夹中的
		mIsAutoRefresh = mSharedPreferences.getBoolean(key, false);
		Log.d("test", "isAutoRefresh: " + mIsAutoRefresh);
	}
}
</span>

mypreference.xml
  1. <span style="font-size: 14px;"><?xml version="1.0" encoding="utf-8"?>  
  2. <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >  
  3.   
  4.     <PreferenceCategory android:title="MyCategory" >  
  5.         <CheckBoxPreference  
  6.             android:key="PREF_AUTO_REFRESH"  
  7.             android:defaultValue="true"  
  8.             android:summary="select to turn on automatic updating"  
  9.             android:title="Auto Refresh" />  
  10.     </PreferenceCategory>  
  11.   
  12. </PreferenceScreen></span>  
<span style="font-size:14px;"><?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >

    <PreferenceCategory android:title="MyCategory" >
        <CheckBoxPreference
            android:key="PREF_AUTO_REFRESH"
            android:defaultValue="true"
            android:summary="select to turn on automatic updating"
            android:title="Auto Refresh" />
    </PreferenceCategory>

</PreferenceScreen></span>

源码:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值