android - 约束集。 java.lang.UnsupportedOperationException:无法转换为尺寸:type = 0x3

标签 android android-constraintlayout

我正在尝试在我的项目中使用ConstraintSet.load(上下文上下文,int resourceId)。它在api 19及更高版本上正常工作,但在使用api 16进行测试时会导致错误。

我尝试用实际值(56dp,-1dp)和dimens资源文件中的值替换尺寸,但始终给出java.lang.UnsupportedOperationException:无法转换为尺寸:type = 0x3错误。

这是xml文件:enter image description here

这是主要活动:enter image description here

这是错误:

07-08 13:51:02.730 14466-14466 / help.logs.error.constrainterror E / AndroidRuntime:FATAL EXCEPTION:main

java.lang.RuntimeException:无法启动活动ComponentInfo {help.logs.error.constrainterror / help.logs.error.constrainterror.MainActivity}:java.lang.UnsupportedOperationException:无法转换为尺寸:type = 0x3
                                                                                 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
                                                                                 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
                                                                                 在android.app.ActivityThread.access $ 700(ActivityThread.java:140)
                                                                                 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1237)
                                                                                 在android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                 在android.os.Looper.loop(Looper.java:137)
                                                                                 在android.app.ActivityThread.main(ActivityThread.java:4921)
                                                                                 在java.lang.reflect.Method.invokeNative(本机方法)
                                                                                 在java.lang.reflect.Method.invoke(Method.java:511)
                                                                                 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1027)
                                                                                 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
                                                                                 在dalvik.system.NativeStart.main(本机方法)
                                                                              原因:java.lang.UnsupportedOperationException:无法转换为尺寸:type = 0x3
                                                                                 在android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:463)
                                                                                 在android.support.constraint.ConstraintSet.populateConstraint(ConstraintSet.java:2040)
                                                                                 在android.support.constraint.ConstraintSet.fillFromAttributeList(ConstraintSet.java:1901)
                                                                                 在android.support.constraint.ConstraintSet.load(ConstraintSet.java:1870)
                                                                                 在help.logs.error.constrainterror.MainActivity.onCreate(MainActivity.java:16)
                                                                                 在android.app.Activity.performCreate(Activity.java:5206)
                                                                                 在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
                                                                                 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
                                                                                 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
                                                                                 在android.app.ActivityThread.access $ 700(ActivityThread.java:140)
                                                                                 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1237)
                                                                                 在android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                 在android.os.Looper.loop(Looper.java:137)
                                                                                 在android.app.ActivityThread.main(ActivityThread.java:4921)
                                                                                 在java.lang.reflect.Method.invokeNative(本机方法)
                                                                                 在java.lang.reflect.Method.invoke(Method.java:511)

最佳答案

我尚未找到问题的答案,而是使用“ mConstraint.clone(this,R.layout.activity_main_second);”。而不是“ mConstraint.load()”作为解决方法。

关于android - 约束集。 java.lang.UnsupportedOperationException:无法转换为尺寸:type = 0x3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44983048/

相关文章:

Android ConstraintLayout - 两个布局的顶部约束

java - 如何在android studio中显示来自Firebase实时数据库的登录用户数据

android - 如何覆盖 android 样式的私有(private)属性

java - Android 无法访问网络服务器?

java - 如何在ConstraintLayout中将ImageView放在CardView之上

android - 如何将约束布局包含到另一个约束布局并在每个约束布局之间设置约束

java - Android 中的进度对话框、广播接收器崩溃

android - Activity 之间的图像转换时闪烁的屏幕

android - ConstraintLayout 匹配兄弟 View 高度,以较高者为准

android - 以编程方式重新约束约束布局中的 View