如何以编程方式重新排序现有的xml布局视图

时间:2012-10-01 11:07:02

标签: android xml layout dynamic

我已经有一个名为my_times.xml的xml文件。 它包含TextViewEditTextSpinnerImageView等视图。 此外,我正在使用一个Web服务,它告诉我这些视图的顺序。 例如,对于我的一个表单字段,假设FirstName以1的顺序出现,因此该视图将出现在我的表单的第一位。如果服务器上的admin将此顺序更改为2,则FirstName将在第二个位置出现在屏幕上,依此类推。 有没有办法重新排列/重新排序现有的xml布局,而不会打扰现有的 xml布局。 我的示例my_times.xml看起来像这样:

<LinearLayout>
<TextView.../>
<EditText..../>
<TextView.../>
<Spinner.../>
</LinearLayout>

请建议我重新安排这些现有观点的理想方式。 大约有4到5个这样的屏幕,其中包含我希望根据web =服务响应动态重新排列/重新排序的字段...

1 个答案:

答案 0 :(得分:0)

我实际上并没有猜到它,但看起来像是在我的脑海中眨眼,尝试了以下解决方案,它起作用了......! 正如我之前所说,我的Web服务正在向我提供这些表单字段的顺序。 我创建了一个方法,它将命令与我在服务器上的命令完全一样。 使用此方法,我只使用以下两种方法重新排序我的视图:

private void removeExistingViewsFromXML(){
        lnrTimesContainer.removeView(tv1);
        lnrTimesContainer.removeView(edt1);
        lnrTimesContainer.removeView(tv2);
        lnrTimesContainer.removeView(spn1);
    }

在获得订单后,根据条件,我使用了以下方法:

lnrTimesContainer.addView(tv2);
lnrTimesContainer.addView(spn1);

多数民众赞成...... : - )