只是,完成了一个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里面