如何以编程方式设置tablelayout android:layout_below

时间:2013-05-08 07:33:26

标签: android android-tablelayout

我有2个表格布局。我想隐藏第二个布局并将第三个布局移动到第二个位置。

我隐藏了第二个布局,但不知道如何将第三个布局移动到第二个位置

            TableLayout i=(TableLayout)findViewById(R.id.table2);
    TableLayout i2=(TableLayout)findViewById(R.id.table3);
    TableLayout i3=(TableLayout)findViewById(R.id.table4);
    i.setVisibility(View.GONE);
    i2.setVisibility(View.GONE);
    i3.setVisibility(View.GONE);
    TableLayout i5=(TableLayout)findViewById(R.id.table5);
             i5.// Now i want to add this layout below to table layout R.id.table1 (the first table layout in this section)                 

3 个答案:

答案 0 :(得分:0)

使用表布局的view.removeView(id)然后当您想要使用view.addView(id)

答案 1 :(得分:0)

尝试设置

i2.setVisibility(View.INVISIBLE);

答案 2 :(得分:0)

你可以这样做,就像你说你使用RelativeLayout一样,所以让一个孩子的LinearLayout具有垂直方向,然后添加你想要添加的所有表格布局。

如果你想在运行时在第一个位置添加一个tableLayout,请执行以下操作:

linearLayout.removeAllViews();

然后添加所需的TableLayout(此处为i5),然后添加剩余的Layouts。

编辑:您的代码:

TableLayout i=(TableLayout)findViewById(R.id.table2);
TableLayout i2=(TableLayout)findViewById(R.id.table3);
TableLayout i3=(TableLayout)findViewById(R.id.table4);
i.setVisibility(View.GONE);
i2.setVisibility(View.GONE);
i3.setVisibility(View.GONE);
TableLayout i5=(TableLayout)findViewById(R.id.table5);
         i5.// Now i want to add this layout below to table layout R.id.table1 (the first table layout in this section)  

你是否正确,因为我认为你的代码应该是这样的:

TableLayout i=(TableLayout)findViewById(R.id.table1);
TableLayout i2=(TableLayout)findViewById(R.id.table2);
TableLayout i3=(TableLayout)findViewById(R.id.table3);
i.setVisibility(View.GONE);
i2.setVisibility(View.GONE);
i3.setVisibility(View.GONE);
TableLayout i5=(TableLayout)findViewById(R.id.table5);
         i5.// Now i want to add this layout below to table layout R.id.table1 (the first table layout in this section)  

我建议这是因为您在上面的代码i5之后的评论部分。