[英]Null Pointer Exception in an Android Table Layout
我使用Eclipse為正在創建的Android應用程序創建了一個xml文件。 在完成所有布局並進行了一些編碼后,我發現最終產品需要處於更早的API級別(准確地說是10級)。 因此,我開始回滾代碼和xml文件的過程,但是遇到了一個我無法解決的問題,並且似乎沒有任何文檔。 我創建了一個表格布局,並且有很多表格行。 當我嘗試在虛擬設備上運行程序時,針對TableRow.measureNullChild(int)函數,給出了Null指針異常,其代碼為:
@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>
任何幫助都是絕對出色的,因為我被困在這里已經兩天了,而且還無法找出問題所在。 如果可以的話,我一定會在這里發布,以便Google員工可以在遇到這種情況時找到答案。 提前致謝
編輯:刪除除包含內容的一個行以外的所有行之后,我在同一位置得到相同的錯誤
但是,當然這太簡單了。 我忘了換冰淇淋三明治一個的姜餅布局ID,所以它試圖在10級環境中加載API 15布局。 交換ID可以完全解決該問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.