只是, 完成了一个 UI 是远远不够的, 我们还需要把我们设置的值, 存进 SharePreference 这个框架里面!
以下内容, 可能比较啰嗦
FAQ:
1, 我们怎么控制 DialogPreference 和我们一直用的 AlertDialog 控件的方法一样吗?
2, 怎么把值存进 Sharepreference 里面?
(1), 第一次启动 PreferenceActivity 流程图
从上图可知, 我们启动 PreferenceActivity 的时候, 会初始化所有 Preference UI, 这就是为什么我们要把布局文件写在构造方法当中的原因.
(2) 调用过程
1, 点击我们的 UI, 将会调用如图所示的方法
2, 点击确定或者取消以后, 就会调用 onDialogClosed, 如下图所示
与我们使用 alertDialog 不同的是, DialogPreference 关闭的时候, 统一调用 onDialogClosed(boolean positiveResult) 方法, 确认还是取消, 只要进行判断即可.
x
至此, 我们搞清楚了, 这个 Dialogpreference 整个运行流程, 接下来得问题是, 怎么绑定我们的控件呢?
onCreateDialog() || onBindDialogView(View view) ?
如果, 你的控件是写在 xml 里面当中的, 你就只能用 onBindDialogView, 一般而言我们不重写 onCreateDialog()
总结:
如果, 你用的是 DialogPreference, 仅仅能用你至少需要重写:
- onBindDialogView(View view)
- onDialogClosed(boolean posittiveResult)
为了你的程序写得更好, 你除了重写以上方法以外还需要重写
- onSetInitialValue(boolean restoreValue, Object defaultValue)
- onSaveInstanceState()
- onRestoreInstanceState(Parcelable)
接下来, 我们就要把我们的值, 存进 Sharepreference 里面
来源: http://click.aliyun.com/m/42614/