Androidアプリケーション用にカスタムTableRowを作成したいと思います。私はLinearLayoutから始めました。これはまさに私が表示したいものですが、TableLayoutのTableRowとして表示します。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="3dp"
android:paddingTop="3dp"
android:weightSum="1" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:text="@string/Context" />
<TextView
android:id="@+id/ContextTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.3" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="3dp"
android:paddingTop="3dp"
android:weightSum="1" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:text="@string/SHUId" />
<TextView
android:id="@+id/SHUIdTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.3" />
</LinearLayout>
...Others LinearLayouts with 2 TextViews...
</LinearLayout>
そこで、最初にこのコードをTableRow要素内に配置しようとしました。
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
...LinearLayout code from above...
<TableRow />
この時点で、レイアウトはeclipseエディターに正しく表示されますが、メインのLinearLayoutにLint警告が表示されます:「このLinearLayoutレイアウトまたはそのTableRow親は役に立たない」
次に、OK TableRowはLinearLayoutのサブクラスであると言うと、メインのLinearLayoutを削除して、次のように彼のプロパティをTableRowに直接配置できます。
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp" >
<LinearLayout >
<TextView />
<TextView />
<LinearLayout />
<LinearLayout >
<TextView />
<TextView />
<LinearLayout />
...etc...
<TableRow />
しかし、レイアウトは正しく表示されなくなりました(ただし警告は表示されません)。最初の行だけが表示されます(最初の2つのTextViewが表示されます)。私は何が欠けていますか?