2015-03-02 91 views
3

我有一个表格布局(具有房地产过滤参数的表格)。当用户从Spinner列表(公寓,房屋,土地等)中选择房产类型时,我需要隐藏/显示具有过滤参数的行。可能吗? TableLayout对此有好处,或者使用LinearLayout会更好吗?在LinearLayout上使用TableLayout更好吗? 我有水平的形式简单的表看起来像这样:Android:隐藏/显示表格行

------------------------- 
field name: [input field] 
------------------------- 
field name: [input field] 
------------------------- 

我已经发现,我可以删除/添加行:

tableLayout.addView(row); 
tableLayout.removeView(row); 

是它去的地方只有一个办法?我可以隐藏/显示行而不删除它们吗?

+0

我做的确切的事情,你问在一个应用程序。假设TableRow有一个id,并为其分配了一个变量(findViewById()),那么 .setVisibility(View.GONE)或(View.VISIBLE)将会执行该操作。没有重新定位。 – 2015-03-02 14:57:00

+0

@DavidM - 我只是试过了,是的,我现在可以隐藏行,但行之间存在差距。不可见的行不崩溃,他们留下空白的差距。我该如何解决这个问题? – oyatek 2015-03-02 15:02:04

+0

@DavidM如果你有一个答案,请发表回答(不是评论),所以我可以接受它 – oyatek 2015-03-02 15:03:02

回答

3

您可以使用<variable>.setVisible(View.GONE)<variable>.setVisible(View.VISIBLE)来隐藏和显示tableRow变量。将不需要重新定位行(s)。

祝你好运!

+0

再次感谢,祝你有美好的一天 – oyatek 2015-03-02 15:15:13