Android 未加载运动编辑器预览

Android 未加载运动编辑器预览,android,android-constraintlayout,android-motionlayout,Android,Android Constraintlayout,Android Motionlayout,我正在使用MotionLayout功能开发应用程序,但当我单击“设计”选项卡时,MotionLayout编辑器出现问题,并且没有显示预览 我得到的是一个带有渲染错误的空白预览,我一直试图解决该错误,但没有效果 这就是我所拥有的 这就是我得到的错误 java.lang.reflect.InvocationTargetException at jdk.internal.reflect.GeneratedMethodAccessor586.invoke(Unknown Source) atj

我正在使用MotionLayout功能开发应用程序,但当我单击“设计”选项卡时,MotionLayout编辑器出现问题,并且没有显示预览

我得到的是一个带有渲染错误的空白预览,我一直试图解决该错误,但没有效果

这就是我所拥有的

这就是我得到的错误

java.lang.reflect.InvocationTargetException
    at jdk.internal.reflect.GeneratedMethodAccessor586.invoke(Unknown Source)
atjava.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at android.view.BridgeInflater.lambda$createViewFromCustomInflater$0(BridgeInflater.java:259)
    at android.view.BridgeInflater.createViewFromCustomInflater(BridgeInflater.java:285)
    at android.view.BridgeInflater.onCreateView(BridgeInflater.java:122)
    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:928)
    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:948)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1002)
    at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:309)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:959)
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1121)
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:1095)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1082)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:680)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:499)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:325)
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:369)
    at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:141)
    at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:710)
    at com.android.tools.idea.rendering.RenderTask.lambda$inflate$6(RenderTask.java:865)
    at com.android.tools.idea.rendering.RenderExecutor$runAsyncActionWithTimeout$2.run(RenderExecutor.kt:174)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:47)
    at java.base/java.lang.String.charAt(String.java:693)
    at android.content.res.BridgeTypedArray.getType(BridgeTypedArray.java:1024)
    at android.content.res.BridgeTypedArray.getType(BridgeTypedArray.java:809)
    at android.content.res.BridgeTypedArray.getValue(BridgeTypedArray.java:778)
    at android.content.res.BridgeTypedArray.peekValue(BridgeTypedArray.java:847)
    at android.view.View.<init>(View.java:5951)
    at android.view.ViewGroup.<init>(ViewGroup.java:697)
    at android.widget.AdapterView.<init>(AdapterView.java:260)
    at android.widget.AbsSpinner.<init>(AbsSpinner.java:74)
    at android.widget.Spinner.<init>(Spinner.java:246)
    at android.widget.Spinner.<init>(Spinner.java:213)
    at android.widget.Spinner.<init>(Spinner.java:163)
    at androidx.appcompat.widget.AppCompatSpinner.<init>(AppCompatSpinner.java:209)
    at androidx.appcompat.widget.AppCompatSpinner.<init>(AppCompatSpinner.java:180)
    at androidx.appcompat.widget.AppCompatSpinner.<init>(AppCompatSpinner.java:160)
    at androidx.appcompat.widget.AppCompatSpinner.<init>(AppCompatSpinner.java:144)
    at androidx.appcompat.app.AppCompatViewInflater.createSpinner(AppCompatViewInflater.java:214)
    at androidx.appcompat.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:131)
    ... 26 more
java.lang.reflect.InvocationTargetException
位于jdk.internal.reflect.GeneratedMethodAccessor586.invoke(未知源)
atjava.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
位于java.base/java.lang.reflect.Method.invoke(Method.java:566)
在android.view.BridgeInflater.lambda$createViewFromCustomInflater$0(BridgeInflater.java:259)
在android.view.BridgeInflater.createViewFromCustomInflater(BridgeInflater.java:285)
在android.view.BridgeInflater.onCreateView(BridgeInflater.java:122)中
位于android.view.LayoutInflater.onCreateView(LayoutInflater.java:928)
位于android.view.LayoutInflater.onCreateView(LayoutInflater.java:948)
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1002)
在android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:309)中
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:959)
位于android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1121)
在android.view.LayoutInflater\u Delegate.rInflate(LayoutInflater\u Delegate.java:72)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:1095)
位于android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1082)
在android.view.LayoutInflater.充气(LayoutInflater.java:680)
在android.view.LayoutInflater.inflate(LayoutInflater.java:499)
在com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:325)上
位于com.android.layoutlib.bridge.bridge.createSession(bridge.java:369)
位于com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:141)
位于com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:710)
在com.android.tools.idea.rendering.RenderTask.lambda$inflate$6(RenderTask.java:865)
在com.android.tools.idea.rendering.RenderExecutor$runAsyncActionWithTimeout$2.run上(RenderExecutor.kt:174)
位于java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
位于java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
位于java.base/java.lang.Thread.run(Thread.java:834)
原因:java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:-1
位于java.base/java.lang.StringLatin1.charAt(StringLatin1.java:47)
位于java.base/java.lang.String.charAt(String.java:693)
位于android.content.res.BridgeTypedArray.getType(BridgeTypedArray.java:1024)
位于android.content.res.BridgeTypedArray.getType(BridgeTypedArray.java:809)
位于android.content.res.BridgeTypedArray.getValue(BridgeTypedArray.java:778)
位于android.content.res.BridgeTypedArray.peekValue(BridgeTypedArray.java:847)
在android.view.view.(view.java:5951)
位于android.view.ViewGroup(ViewGroup.java:697)
在android.widget.AdapterView。(AdapterView.java:260)
位于android.widget.AbsSpinner(AbsSpinner.java:74)
位于android.widget.Spinner.(Spinner.java:246)
位于android.widget.Spinner.(Spinner.java:213)
位于android.widget.Spinner(Spinner.java:163)
位于androidx.appcompat.widget.AppCompatSpinner。(AppCompatSpinner.java:209)
位于androidx.appcompat.widget.AppCompatSpinner。(AppCompatSpinner.java:180)
位于androidx.appcompat.widget.AppCompatSpinner。(AppCompatSpinner.java:160)
位于androidx.appcompat.widget.AppCompatSpinner。(AppCompatSpinner.java:144)
在androidx.appcompat.app.AppCompatViewInflater.createSpinner(AppCompatViewInflater.java:214)中
在androidx.appcompat.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:131)中
... 26多
我在安卓4.2上,我使用这个依赖项来约束布局

实现“androidx.constraintlayout:constraintlayout:2.1.0-beta02”

类路径是
classpath“com.android.tools.build:gradle:4.2.0

这是我的渐变版本
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip

我尝试过重新启动、使缓存无效、清理、重建、删除lib fold in.idea以及删除app/build文件,但仍然无法获得预览,渲染错误仍然存在


这是我的,非常感谢任何帮助来解决这个问题。

在玩了这个感觉像是永恒的东西之后,我意识到这个问题是由我的微调器上的属性引起的


删除此属性后,MotionLayout Editor预览会起作用!

你不会相信这一点。当我从xml中剪切所有代码并将其重新粘贴到xml中时,渲染没有问题,预览会显示出来。但是,当我关闭xml文件并再次打开时,问题再次出现。有什么东西在捉弄我,我无法确定没错。我错过了什么?这真是太奇怪了。你有没有没有没有id的视图(android:id=“@…”)?@hoford我给了所有视图id。经过一段时间的努力,我发现问题出在我身上。它的autofillHint属性为空。我删除了这个属性,我又开始做生意了。你能相信这样一个小小的细节电话会造成这么大的混乱吗?