0
我使用Eclipse爲我正在創建的Android應用程序創建了一個xml文件。完成所有佈局並編寫代碼之後,我發現最終產品需要處於較早的API級別(準確的說是10級)。所以我開始回滾代碼和xml文件,但遇到了一個我無法解決的問題,似乎沒有任何文檔。 我創建了一個表格佈局,並有許多表格行。當我嘗試運行虛擬設備上的程序,我給一個空指針異常與問候到TableRow.measureNullChild(INT)功能,代碼爲:Android表格佈局中的空指針異常
@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員工可以在發生這種情況時找到答案。在此先感謝
編輯: 刪除所有行,但一個之後,它包含的內容,我得到了同樣的錯誤在同一地點
而'mConstrainedColumnWidths'是...?並初始化時/如何? –
如果發佈的代碼中存在異常,則唯一的解釋是調用該方法時mConstrainedColumnWidths爲null。 –
我發現這種情況發生的唯一方法是在'measure'之前調用'layout'。你是否明確地爲表格或其任何行調用'layout'(或'onLayout')? –