Android表格布局中的空指针异常

时间:2012-06-08 03:14:36

标签: android eclipse android-layout nullpointerexception

我使用Eclipse为我正在创建的Android应用创建了一个xml文件。在完成所有布局,并进行一些编码等之后,我发现最终产品需要处于较早的API级别(确切地说是10级)。所以我开始回滚代码和xml文件的过程,但遇到了一个我无法解决的问题,似乎没有任何文档。 我创建了一个表格布局,并有许多表格行。当我尝试在虚拟设备上运行程序时,我对TableRow.measureNullChild(int)函数给出了一个Null Pointer Exception,其代码为:

@Override
int measureNullChild(int childIndex) {
return mConstrainedColumnWidths[childIndex];
}

显然问题存在于某个地方,但我不确定具体细节,并且想知道其他人是否有这个问题。我现在发布导致崩溃的xml文件:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/livelayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

<TableRow
    android:id="@+id/tableRow8"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingTop="5dp" >

     <RelativeLayout
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:background="@drawable/hope" >

    </RelativeLayout>
</TableRow>

<TableRow
    android:id="@+id/tableRow7"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="30dp"
        android:layout_gravity="center_vertical"
        android:layout_margin="0dp"
        android:gravity="center"
        android:paddingLeft="0dp"
        android:paddingTop="0dp"
        android:text="@string/us"
        android:textSize="28dp"
        android:textColor="#CC7F32" />

    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/TextView01"
            android:layout_width="70dp"
            android:layout_height="30dp"
            android:layout_margin="0dp"
            android:gravity="center"
            android:paddingLeft="0dp"
            android:paddingTop="0dp"
            android:text="@string/them"
            android:textSize="26dp"
            android:textColor="#CC7F32" />

    </FrameLayout>

</TableRow>

<TableRow
    android:id="@+id/tableRow2"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_vertical"
    android:visibility="visible" >

    <Button
        android:id="@+id/us2"
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:text="@string/us2" />

    <Button
        android:id="@+id/us2made"
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:text="@string/us2m" />

    <Button
        android:id="@+id/button3"
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:text="@string/them2" />

    <Button
        android:id="@+id/button4"
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:text="@string/them2m" />

</TableRow>

<TableRow
    android:id="@+id/tableRow1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_vertical" >

    <Button
        android:id="@+id/button5"
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:text="@string/us1" />

    <Button
        android:id="@+id/button6"
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:text="@string/us1m" />

    <Button
        android:id="@+id/button7"
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:text="@string/them1" />

    <Button
        android:id="@+id/button8"
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:text="@string/them1m" />
</TableRow>

<TableRow
    android:id="@+id/tableRow3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_vertical" >

    <Button
        android:id="@+id/button9"
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:text="@string/us3" />

    <Button
        android:id="@+id/button10"
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:text="@string/us3m" />

    <Button
        android:id="@+id/button11"
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:text="@string/them3" />

    <Button
        android:id="@+id/button12"
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:text="@string/them3m" />

</TableRow>

<TableRow
    android:id="@+id/tableRow4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_vertical" >

    <Button
        android:id="@+id/button13"
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:text="@string/usOreb" />

    <Button
        android:id="@+id/button14"
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:text="@string/usXreb" />

    <Button
        android:id="@+id/button15"
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:text="@string/themOreb" />

    <Button
        android:id="@+id/button16"
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:text="@string/themXreb" />

</TableRow>

<TableRow
    android:id="@+id/tableRow5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_vertical" >

    <Button
        android:id="@+id/button17"
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:text="@string/us2f" />

    <Button
        android:id="@+id/button18"
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:text="@string/us2fm" />

    <Button
        android:id="@+id/button19"
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:padding="5dp"
        android:text="@string/them2f" />

    <Button
        android:id="@+id/button20"
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:padding="5dp"
        android:text="@string/them2fm" />

</TableRow>

<TableRow
    android:id="@+id/tableRow6"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingTop="30dp" >
</TableRow>

<FrameLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingLeft="60dp"
    android:paddingRight="60dp" >

    <Button
        android:id="@+id/button21"
        android:layout_width="201dp"
        android:layout_height="match_parent"
        android:text="Button" />

</FrameLayout>

<FrameLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingLeft="60dp"
    android:paddingRight="60dp"
    android:paddingTop = "15dp" >

    <Button
        android:id="@+id/Button01"
        android:layout_width="201dp"
        android:layout_height="match_parent"
        android:text="Button" />

</FrameLayout>


</TableLayout>

任何帮助都绝对是太棒了,因为我已经被困在这里两天了,并且无法弄清楚出了什么问题。如果我这样做,我肯定会在这里发帖,以便googlers能够找到答案,如果这种情况发生的话。提前致谢

编辑: 删除除了包含内容的所有行之后,我在同一位置得到相同的错误

1 个答案:

答案 0 :(得分:1)

但当然这太简单了。我忘了交换冰淇淋三明治的姜饼布局ID,所以它试图在10级环境中加载API 15布局。交换ID完全解决了这个问题。