Android Studio:无法在GridLayout上添加视图。android/view/view$OnUnhandledKeyEventListener

Android Studio:无法在GridLayout上添加视图。android/view/view$OnUnhandledKeyEventListener,android,android-studio,imageview,grid-layout,Android,Android Studio,Imageview,Grid Layout,我已经为此挣扎了好几个小时了。为什么会发生这种情况?我在一个网站上学习一门课程,不确定我是否能提到它,而且每件事都应该完美无瑕,除了它不适合我。 基本上,我要做的是做一个连接4的游戏,我想使用GridLayout并在其中添加ImageView。当我尝试将ImageView添加到gridLayout时,它们没有显示出来。它们存在,但并没有真正表现出来。 到目前为止,我尝试的是: 更改布局的高度和宽度 玩弄背景、可见性 用谷歌搜索解决这个问题。 将垂直方向添加到gridlayout 重新从头开始创造

我已经为此挣扎了好几个小时了。为什么会发生这种情况?我在一个网站上学习一门课程,不确定我是否能提到它,而且每件事都应该完美无瑕,除了它不适合我。 基本上,我要做的是做一个连接4的游戏,我想使用GridLayout并在其中添加ImageView。当我尝试将ImageView添加到gridLayout时,它们没有显示出来。它们存在,但并没有真正表现出来。 到目前为止,我尝试的是:

更改布局的高度和宽度 玩弄背景、可见性 用谷歌搜索解决这个问题。 将垂直方向添加到gridlayout 重新从头开始创造一切 使缓存无效/重新启动

Stack Trace

java.lang.ClassNotFoundException: android.view.View$OnUnhandledKeyEventListener
at org.jetbrains.android.uipreview.ModuleClassLoader.load(ModuleClassLoader.java:180)
at com.android.tools.idea.rendering.RenderClassLoader.findClass(RenderClassLoader.java:61)
at org.jetbrains.android.uipreview.ModuleClassLoader.findClass(ModuleClassLoader.java:118)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.jetbrains.android.uipreview.ModuleClassLoader.loadClass(ModuleClassLoader.java:213)
at android.support.v7.widget.GridLayout.isLayoutRtlCompat(GridLayout.java:679)
at android.support.v7.widget.GridLayout.onLayout_Original(GridLayout.java:1082)
at android.support.v7.widget.GridLayout.onLayout(GridLayout.java)
at android.view.View.layout_Original(View.java:19659)
at android.view.View_Delegate.layout(View_Delegate.java:91)
at android.view.View.layout(View.java:19645)
at android.view.ViewGroup.layout(ViewGroup.java:6075)
at android.support.constraint.ConstraintLayout.onLayout_Original(ConstraintLayout.java:1858)
at android.support.constraint.ConstraintLayout.onLayout(ConstraintLayout.java)
at android.view.View.layout_Original(View.java:19659)
at android.view.View_Delegate.layout(View_Delegate.java:91)
at android.view.View.layout(View.java:19645)
at android.view.ViewGroup.layout(ViewGroup.java:6075)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout_Original(View.java:19659)
at android.view.View_Delegate.layout(View_Delegate.java:91)
at android.view.View.layout(View.java:19645)
at android.view.ViewGroup.layout(ViewGroup.java:6075)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1083)
at android.view.View.layout_Original(View.java:19659)
at android.view.View_Delegate.layout(View_Delegate.java:91)
at android.view.View.layout(View.java:19645)
at android.view.ViewGroup.layout(ViewGroup.java:6075)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:346)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:384)
at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:193)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:544)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$3(RenderTask.java:678)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
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)
activity_main.xml

<?xml version="1.0" encoding="utf-8"?>

我是Android新手我也犯了同样的错误, 但我发现网格布局的一个简单方法是尝试使用基本标记而不是
便宜的方法…

我通过进入文本视图并调整一些xml代码来解决这个问题

    <GridLayout
    android:layout_width="match_parent"
    android:columnCount="3"
    android:rowCount="3"
    android:background="@drawable/board"
    android:layout_height="400dp"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:id="@+id/gridLayout">
    
    </GridLayout>

    <ImageView
    android:layout_width="90dp"
    android:layout_height="90dp"
    android:id="@+id/imageView"
    android:layout_alignBottom="@+id/gridLayout"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_margin="15dp"
    android:layout_marginTop="25dp"
    android:onClick="dropIn"
    android:tag="0"/>
实际上,我只是将ImageView代码移到网格布局代码中,而不是放在后面。希望这有意义

    <GridLayout
    android:layout_width="match_parent"
    android:columnCount="3"
    android:rowCount="3"
    android:background="@drawable/board"
    android:layout_height="400dp"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:id="@+id/gridLayout">

    <ImageView
    android:layout_width="90dp"
    android:layout_height="90dp"
    android:id="@+id/imageView"
    android:layout_alignBottom="@+id/gridLayout"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_margin="15dp"
    android:layout_marginTop="25dp"
    android:onClick="dropIn"
    android:tag="0"/>

    
    </GridLayout>

    

通过这样做部分解决了问题:嗨,里斯,欢迎来到StackOverflow。请将代码直接添加到您的答案中,而不是张贴其图像。另外,你可以在这里查看。。。
    <GridLayout
    android:layout_width="match_parent"
    android:columnCount="3"
    android:rowCount="3"
    android:background="@drawable/board"
    android:layout_height="400dp"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:id="@+id/gridLayout">

    <ImageView
    android:layout_width="90dp"
    android:layout_height="90dp"
    android:id="@+id/imageView"
    android:layout_alignBottom="@+id/gridLayout"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_margin="15dp"
    android:layout_marginTop="25dp"
    android:onClick="dropIn"
    android:tag="0"/>

    
    </GridLayout>