【问题标题】:Android Layout Preview Editor - Layout not visible: java.lang.IllegalArgumentException: object is not an instance of declaring classAndroid 布局预览编辑器 - 布局不可见:java.lang.IllegalArgumentException:对象不是声明类的实例
【发布时间】:2019-10-09 07:21:02
【问题描述】:

我的 Android Studio 布局编辑器未按预期工作。在我对布局进行更改后,预览总是消失并变成完全白屏或冻结(我无法选择任何元素并且我对 xml 文件所做的更改不可见)。这发生在任何布局文件中。我在 使 chaches 无效并重新启动 后再次工作,但在我进行另一次更改后,我又遇到了同样的问题。执行干净的构建也无济于事。

布局编辑器显示以下异常:

java.lang.IllegalArgumentException: object is not an instance of declaring class
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at android.animation.PropertyValuesHolder_Delegate.callMethod(PropertyValuesHolder_Delegate.java:108)
at android.animation.PropertyValuesHolder_Delegate.nCallFloatMethod(PropertyValuesHolder_Delegate.java:143)
at android.animation.PropertyValuesHolder.nCallFloatMethod(PropertyValuesHolder.java)
at android.animation.PropertyValuesHolder.access$400(PropertyValuesHolder.java:38)
at android.animation.PropertyValuesHolder$FloatPropertyValuesHolder.setAnimatedValue(PropertyValuesHolder.java:1387)
at android.animation.ObjectAnimator.animateValue(ObjectAnimator.java:990)
at android.animation.ValueAnimator.animateBasedOnTime(ValueAnimator.java:1339)
at android.animation.ValueAnimator.doAnimationFrame(ValueAnimator.java:1471)
at android.animation.AnimationHandler.doAnimationFrame(AnimationHandler.java:146)
at android.animation.AnimationHandler.access$100(AnimationHandler.java:37)
at android.animation.AnimationHandler$1.doFrame(AnimationHandler.java:54)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:947)
at android.view.Choreographer.doCallbacks(Choreographer.java:761)
at android.view.Choreographer_Delegate.doFrame(Choreographer_Delegate.java:66)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.renderAndBuildResult(RenderSessionImpl.java:563)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.render(RenderSessionImpl.java:425)
at com.android.layoutlib.bridge.BridgeRenderSession.render(BridgeRenderSession.java:120)
at com.android.ide.common.rendering.api.RenderSession.render(RenderSession.java:151)
at com.android.ide.common.rendering.api.RenderSession.render(RenderSession.java:133)
at com.android.tools.idea.rendering.RenderTask.lambda$null$8(RenderTask.java:755)
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

但是我无法理解发生了什么。我什至不确定这个错误是否是我的问题的原因。也许你可以帮忙。

注意:我使用的是 Theme.MaterialComponents.Light.NoActionBar 主题

【问题讨论】:

  • 这是完整的错误吗?
  • 我想,这是我点击“详细信息”时布局编辑器向我显示的所有内容
  • 你知道你的代码的哪一部分触发了这个错误吗?
  • 事实证明,添加
  • @Yannick 几个小时后我发现这不是 Android Studio 问题,而是 Gradle 插件问题,我已将 gradle 插件和我的 gradle 恢复到以前的版本,现在一切正常!

标签: android android-layout-editor


【解决方案1】:

将你的依赖更新到 alpha09 并且它是固定的:

implementation "com.google.android.material:material:1.1.0-alpha09"          // Material Components

【讨论】:

  • 尝试了 alpha09 更改,但在多次重启后都无法正常工作...
猜你喜欢
  • 2017-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-21
  • 1970-01-01
  • 2013-08-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多