DatePicker 三星Android5.0手机崩溃异常

    最近项目中不少地方用到了DatePicker,其他地方运行都没问题,但是当运行在Samsung手机的Android5.0系统上,一弹出时间选择界面便直接崩溃,导致异常:

DatePicker 三星Android5.0手机崩溃异常_第1张图片
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 三星Android5.0手机崩溃异常_第2张图片
DatePicker Style

2,在需要弹出DatePicker的地方,进行一个版本的判断,若是5.0及以上,特殊处理:

if(Integer.valueOf(android.os.Build.VERSION.SDK) >= Build.VERSION_CODES.LOLLIPOP){         showDateDialog(ctx,view);



return;

}

弹出的dialog进行如下处理:


DatePicker 三星Android5.0手机崩溃异常_第3张图片
Special DatePickerDialog

3,剩余的部分处理和其他版本一致即可。

至此,此异常已解决。

ps:

    待续:此处还有值得研究之处,待之后完善。

你可能感兴趣的:(DatePicker 三星Android5.0手机崩溃异常)