我想为我的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)。
我想念什么?

最佳答案

您的TableRowTableLayout的孩子吗?如果不是,则不应该使用TableRow-如果没有TableLayout,它只是水平的LinearLayout

关于android - TableRow中的LinearLayout发出警告,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11790312/

10-12 06:04