Android:以编程方式获取布局参数和复制视图

时间:2013-08-09 22:14:33

标签: android xml

假设您有一个在xml文件中创建的TextView。我想知道是否可以以编程方式复制此视图的布局参数,而不必以编程方式再次将它们全部写出来。或者,如果您可以创建一个新的TextView并使其与原始TextView相同,然后将其附加到将要添加的新视图。

我尝试了后者并遇到了错误:

08-09 22:04:55.253: E/AndroidRuntime(1848): Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.

但即使在我尝试从初始视图中删除它们之后,此错误仍会存在。有任何想法吗?或者这是完全不可行和愚蠢的。

2 个答案:

答案 0 :(得分:0)

您始终可以从同一个xml中充气新的ViewAdapter类始终执行此操作,例如在ListView中,如果适配器是来自同一xml资源的行,则适配器将全部膨胀。

答案 1 :(得分:0)

当然,您可以使用;

获取该镜面TextView的布局参数
TextView myTextView=(TextView) findViewById(<your-TextView's-id>);
ViewGroup.LayoutParams layPar=myTextView.getLayoutParams();

你可以从中复制另一个并将其添加到这样的新视图中;

newView.addView(newTextView);