通过findViewById在TableLayout中获取一组TableRow

时间:2015-03-16 13:03:19

标签: android android-layout android-tablelayout

拥有LinearLayout,其中某些部分可能在某些条件下不可见。 E.g。

<LinearLayout>
  <LinearLayout android:id="@+id/layout1">
     <!-- set of childs -->
  </LinearLayout>
  <LinearLayout android:id="@+id/layout2">
     <!-- set of childs -->
  </LinearLayout>
</LinearLayout>

在LinearLayout中,我可以通过findViewById从主布局获取任何子部件(使用他的布局)并更改它的可见性(以编程方式)。带有ID的布局使用类似子集的包装器。

我可以在TableLayout中执行类似的操作吗?我是这样,通过findViewById从布局中获取一组TableRow并更改其可见性?

2 个答案:

答案 0 :(得分:0)

TableRow继承自LinearLayout。它可以完成线性布局所能做的一切。所以,是的,您可以为其分配ID并更改其可见性。

请参阅http://developer.android.com/reference/android/widget/TableRow.html

答案 1 :(得分:0)

来自文档http://developer.android.com/reference/android/widget/TableLayout.html

  

虽然TableLayout的典型子项是TableRow,但实际上可以使用任何View子类作为TableLayout的直接子项。视图将显示为跨越所有表列的单行。

所以,我这样做

<TableLayout>
  <TableRow><!-- some data --></TableRow>
  <TableLayout android:id="rowsSet1">
    <TableRow><!-- some data --></TableRow>
    <TableRow><!-- some data --></TableRow>
    <TableRow><!-- some data --></TableRow>
  </TableLayout>
  <TbaleRow><!-- some data --></TableRow>
  <TableLayout android:id="rowsSet2">
    <TableRow><!-- some data --></TableRow>
    <TableRow><!-- some data --></TableRow>
  </TableLayout>
</TableLayout>

现在我可以通过findViewById获取行集,例如,隐藏它们。