PerferenceActivity学习

SharedPreferences 

能存储一下类型数据

  • Boolean
  • Float
  • Int
  • Long
  • String
  • String Set

A few of the most common preferences are:

CheckBoxPreference
Shows an item with a checkbox for a setting that is either enabled or disabled. The saved value is a boolean ( true  if it's checked).
ListPreference
Opens a dialog with a list of radio buttons. The saved value can be any one of the supported value types (listed above).
EditTextPreference
Opens a dialog with an   EditText  widget. The saved value is a   String.
 
要想每组有个分割线 就把子元素放到这个标签下面
<PreferenceCategory

 

 

监控配置变化的状态。注意的是貌似在onPreferenceChange执行结束之后才会修改sharePreference文件。返回值如果设置false的时候,checkbox不会修改!

public class SettingActivity extends PreferenceActivity  implements OnPreferenceChangeListener {

	@Override
	public boolean onPreferenceChange(Preference preference, Object newValue) {
		
		System.out.println("preference:"+preference.getKey()+"  "+newValue);
		// TODO Auto-generated method stub
		SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
		// 
		System.out.println(prefs.getBoolean("开启声音", true));
		return true;
	}
}

 

 

 

自定义带图片PreferenceActivity

http://my.oschina.net/huangsm/blog/40027

 

 

自定义一个Perference

public class ImagePreference extends Preference {

	private ImageView iv_perference_icon;
	private int _id;
	private OnClickListener mOnClickListener;
	
	public ImagePreference(Context context,int id) {
		super(context);
		this._id = id;
	//设置布局文件
		setLayoutResource(R.layout.preference_list_item_layout);
	}
//重绘
	@Override
	protected void onBindView(View view) {
		super.onBindView(view);
		iv_perference_icon = (ImageView) view.findViewById(R.id.iv_perference_icon);
		iv_perference_icon.setImageResource(_id);
		view.setClickable(true);
		view.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View view) {
				if(mOnClickListener!=null)
				mOnClickListener.onClick(view);
				else return;
			}
		});
	}
	
	public void setOnClickListener(OnClickListener mOnClickListener){
		this.mOnClickListener = mOnClickListener;
	}
	
}

 

PreferenceActivity会自动帮你保存配置值到 SharePreference中,下一次启动的时候,会自动帮你显示已经更改的状况。   使用如下方法读取当前文件中保存的值

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
		// 
		System.out.println(prefs.getBoolean("开启声音", true));

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值