zoukankan      html  css  js  c++  java
  • java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x12

    最近使用Android Studio开发一个新项目,刚做完几个界面,跑在android 5.0上面很正常,因为都是挺简单的布局,本以为应该不存在兼容性问题(Flag啊)。

    偶然用了一个4.x的实机测试,发现杯具了,直接报错退出了,发现log里面打出这么一句:

    java.lang.UnsupportedOperationException: Can't convert to color: type=0x2

    难以理解啊,没办法一步一步调试吧。

    顺便说一下调试要注意的问题,如果compileSdkVersion与实际出错的android版本不符合,是没法设置断点的。

    改为一致之后,一步一步看,最后发现问题出在一个drawable xml文件上,之前是这么写的:

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <stroke
            android:width="0.5dp"
            android:color="?colorPrimary" />
    </shape>
    

    也是摸不着头脑,很正常啊。尝试一下吧?colorPrimary改成直接的color引用试一试吧。

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <stroke
            android:width="0.5dp"
            android:color="@color/carnation" />
    </shape>
    

    一运行,果然成功了。

    看起来像是android4.x系统上因为某种原因,无法在drawable xml文件里面使用attr属性,5.x上没有这个问题。

    希望对遇到类似

    can't convert xxx type=0x00

    问题的朋友有所启发和帮助。

    如果有人能够告诉我具体原因,我也会十分感谢(果然android兼容是个大坑啊!

  • 相关阅读:
    centos7启动redis命令
    临时和永久关闭Selinux
    坑人的Mysql5.7 (默认不支持Group By语句)(转)
    修改docker容器参数
    FastDFS常用命令
    SpringBoot集成RabbitMQ消息队列搭建与ACK消息确认入门
    git忽略.idan目录
    springboot2.x接口返回中文乱码
    解决ssh连接linux服务器速度慢
    基于SSD固态硬盘的数据库性能优化
  • 原文地址:https://www.cnblogs.com/DarkMaster/p/4581126.html
Copyright © 2011-2022 走看看