我使用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能够找到答案,如果这种情况发生的话。提前致谢
编辑: 删除除了包含内容的所有行之后,我在同一位置得到相同的错误
答案 0 :(得分:1)
但当然这太简单了。我忘了交换冰淇淋三明治的姜饼布局ID,所以它试图在10级环境中加载API 15布局。交换ID完全解决了这个问题。