拥有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并更改其可见性?
答案 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获取行集,例如,隐藏它们。