安卓:隐藏/显示表格行

4

我有一个表格布局(带有房地产过滤参数的表单)。当用户从Spinner列表中选择房地产类型(公寓、房屋、土地等)时,需要隐藏/显示具有过滤参数的行。这是否可能?使用TableLayout还是LinearLayout更好?在什么情况下使用TableLayout比LinearLayout更好?

我有一个简单的水平表格,看起来像这样:

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

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

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

这是唯一的方法吗?我能否只隐藏/显示行而不删除它们?

我在一个应用程序中做了你所要求的确切操作。假设TableRow有一个ID,并且已经分配了一个变量(findViewById()),那么<variable_name>.setVisibility(View.GONE)或(View.VISIBLE)就可以解决问题,而不需要重新定位。 - David M
@DavidM - 我刚试了一下,现在我可以隐藏行了,但是行之间有空隙。不可见的行并没有折叠,它们留下了空白的间隙。我该怎么解决这个问题? - Roman
@DavidM 如果你有答案,请将其发布为答案(而不是评论),这样我就可以接受它。 - Roman
嗯,我在我的应用程序中没有注意到这个问题。你能发布一下布局吗? - David M
@DavidM 噢,对不起!那是我的错误 - 我使用了 View.INVISIBLE 而不是 View.GONE。现在没有间隙了!谢谢!你会发表一个答案吗? - Roman
1个回答

5
您可以使用<variable>.setVisible(View.GONE)<variable>.setVisible(View.VISIBLE)来隐藏和显示一个tableRow变量。不需要重新定位行。祝好运!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接