www.cftea.com

PreferenceActivity、PreferenceFragment 配置功能-第三篇:融会贯通

ITPOW2017/3/16 17:09:44

懒人也是有代价的,前一节虽然简单,但是没有实现一个功能,就是对于 EditText 一类的,设置了文本之后,并没有直接显示在界面上,必须要点一下才知道是什么值。这个在本连载第一节也提到过。

现在的样子:

无 summary

期望的样子:

有 summary

我们就要写一个类来处理

然后在调用时,也不能用 addPreferencesFromResource 这个简单方法了,得这么用:

用这种方法加载配置界面,不需要改基类为 PreferenceActivity。

其实,原理和那个 Settings Activity 模板中的是一样的,只不过那里面更复杂。比如,这里我们就只研究了对 EditTextPreference 设置 Summary,它研究了对其他类型的设置方式,并且作了封装。

再优化一下,我们发现点击安卓的返回按钮时,设置界面变为空白,再点击一下返回按钮,才是返回之前的页面。

我们通过拦截 onKeyDown 来处理。

关于 onKeyDown 的详细应用,可参见:Android 拦截 onKeyDown,并实现“再按一次退出”

<<返回首页<<