NoSuchFieldError:BoxInsetLayout
Posted
技术标签:
【中文标题】NoSuchFieldError:BoxInsetLayout【英文标题】:NoSuchFieldError: BoxInsetLayout 【发布时间】:2018-03-17 07:11:09 【问题描述】:我正在尝试创建 BoxInsetLayout,当开始设置 FrameLayout 时,出现错误。
java.lang.NoSuchFieldError: BoxInsetLayout_Layout_boxedEdges at android.support.wear.widget.BoxInsetLayout$LayoutParams.(BoxInsetLayout.java:450) 在 android.support.wear.widget.BoxInsetLayout.generateLayoutParams(BoxInsetLayout.java:142) 在 android.support.wear.widget.BoxInsetLayout.generateLayoutParams(BoxInsetLayout.java:47) 在 android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:860) 在 android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:834) 在 android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:518) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:397) 在 com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:324) 在 com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:429) 在 com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:368) 在 com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:567) 在 com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:549) 在 com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:863) 在 com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:549) 在 com.android.tools.idea.rendering.RenderTask.lambda$inflate$1(RenderTask.java:680) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745)
代码
<?xml version="1.0" encoding="utf-8"?>
<android.support.wear.widget.BoxInsetLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
xmlns:app="http://schemas.android.com/apk/res-auto"
android:padding="15dp">
<FrameLayout
android:layout_
android:layout_
android:padding="5dp"
app:boxedEdges="all">
<TextView
android:gravity="center"
android:layout_
android:layout_
android:text="@string/app_name"
android:textColor="@color/black" />
</FrameLayout>
</android.support.wear.widget.BoxInsetLayout>
【问题讨论】:
您是否检查过这篇文章的要求:developer.android.com/training/wearables/apps/creating.html? 【参考方案1】:我在使用android.support.wear.widget.BoxInsetLayout
时遇到同样的错误,但是当我切换到已弃用的android.support.wearable.view.BoxInsetLayout
时,渲染错误就会消失。我认为每次您尝试将子项添加到 BoxInsetLayout 时,都会出现相同的渲染错误。
如果您找到使用新 BoxInsetLayout 解决此错误的方法,请在此处分享解决方案。
【讨论】:
您可能希望将此作为评论而不是答案重新发布,因为它并不能真正算作问题的答案。 感谢您的建议是对的,但我还不能对问题发表评论,因为我没有足够的声誉。我只是想分享我是如何解决渲染问题的,尽管不是通过使用同一个库。至少我可以在不运行应用程序的情况下看到屏幕。以上是关于NoSuchFieldError:BoxInsetLayout的主要内容,如果未能解决你的问题,请参考以下文章
获取 java.lang.NoSuchFieldError: RamlValidationService 中的值
春天:java.lang.NoSuchFieldError:IMPORT_BEAN_NAME_GENERATOR
java.lang.NoSuchFieldError:INSTANCE
java.lang.NoSuchFieldError: TRACE