渲染期间引发异常:com.android.layoutlib.bridge.MockView无法强制转换为android.view.ViewGroup

时间:2014-01-30 14:59:34

标签: java android eclipse grid-layout

我正在eclipse上研究这个android项目。我在主要活动上创建了两个gridLayouts和一个文本字段。它继续在窗口中显示此警告“以下类无法实例化: - android.support.v7.widget.GridLayout(Open Class,Show Error Log)“但是当我尝试向GridLayout添加一个按钮时,活动冻结,现在它显示以下消息”注意:此项目包含Java编译错误,这可能导致自定义视图的渲染失败。首先修复编译问题。

渲染期间引发异常:com.android.layoutlib.bridge.MockView无法强制转换为android.view.ViewGroup Window>中记录了异常详细信息。显示视图>错误日志 无法实例化以下类: - android.support.v7.widget.GridLayout(Open Class,Show Error Log)“我的xml文件是:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#0099cc"
    tools:context=".MainActivity"
    xmlns:app="http://schemas.android.com/apk/res/com.example.simple_calculator">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="94dp"
        android:text=""
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <android.support.v7.widget.GridLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_marginLeft="232dp"
        android:layout_marginTop="100dp" >
    </android.support.v7.widget.GridLayout>

    <android.support.v7.widget.GridLayout
        android:layout_width="232dp"
        android:layout_height="match_parent"
        android:layout_marginTop="100dp"
        app:columnCount="1" >

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_column="0"
            app:layout_gravity="left|top"
            app:layout_row="0"
            android:text="Button" />

    </android.support.v7.widget.GridLayout>
</FrameLayout>

我已经尝试导入android-sdk- [platform] / extras / android / support / v7 / gridlayout,但仍然是同样的错误。

1 个答案:

答案 0 :(得分:1)

尝试使用以下代码(我修改了代码,未添加任何其他内容):

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#0099cc"
    tools:context=".MainActivity"
    xmlns:app="http://schemas.android.com/apk/res/com.example.simple_calculator">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="94dp"
        android:text=""
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <GridLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_marginLeft="232dp"
        android:layout_marginTop="100dp" >
    </GridLayout>

    <GridLayout
        android:layout_width="232dp"
        android:layout_height="match_parent"
        android:layout_marginTop="100dp"

       >

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_column="0"
            android:layout_gravity="left"


            android:text="Button" />

    </GridLayout>
</FrameLayout>

在此代码网格布局和应用程序:列和重力部分被修改,报告的异常得到纠正,代码工作正常,并且对于布局规则,请检查以下链接:

http://www.curious-creature.org/2009/02/22/android-layout-tricks-1/

希望这有助于解决问题:)

最好的问候