少地方用到了DatePicker,其他地方运行都没问题,但是当运行在Samsung手机的Android5.0系统上,一弹出时间选择界面便直接崩溃,导致异常:
Error ScreenShot
在stack overflow 中搜索,并结合自身遇到的情况发现,这是由于在三星Android 5.0的实现中,若APP开发使用了Theme.AppCompat系列主题,变化产生此崩溃。于是解决思路便有了,方案有二, 一、修改Android 5.0中DatePicker的style,使其与Theme.AppCompat不产生联系; 二、修改系统主题。 明显,方法二更简单,但是APP的整体风格就变了,于是我选择了不影响此的方式,修改DatePicker的style,具体做法如下: 1 , styles.xml 中定义好DatePicker的style,
DatePicker Style
2,在需要弹出DatePicker的地方,进行一个版本的判断,若是5.0及以上,特殊处理:
弹出的dialog进行如下处理:
Special DatePickerDialog
3,剩余的部分处理和其他版本一致即可。 至此,此异常已解决。 (责任编辑:好模板) |