NoSuchFieldError:BoxInsetLayout

时间:2017-10-05 15:30:08

标签: java android intellij-idea

我正在尝试创建一个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)at   android.view.LayoutInflater.inflate(LayoutInflater.java:397)at   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 $膨胀$ 1(RenderTask.java:680)     在java.util.concurrent.FutureTask.run(FutureTask.java:266)at   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_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:padding="15dp">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="5dp"
        app:boxedEdges="all">


        <TextView
            android:gravity="center"
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:text="@string/app_name"
            android:textColor="@color/black" />

    </FrameLayout>

</android.support.wear.widget.BoxInsetLayout>

1 个答案:

答案 0 :(得分:0)

我在android.support.wear.widget.BoxInsetLayout时遇到同样的错误,但是当我切换到弃用的android.support.wearable.view.BoxInsetLayout时,渲染错误就会消失。我想每次尝试将一个子项添加到BoxInsetLayout时,它都会产生相同的渲染错误。

如果您通过使用新的BoxInsetLayout找到解决此错误的方法,请在此处分享解决方案。