2

假设您有一个在 xml 文件中创建的 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.

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

4

2 回答 2

0

您总是可以View从同一个 xml 中扩充一个新的。 Adapter类一直这样做,例如在ListViews 中,如果它是来自同一 xml 资源的行,则适配器将全部膨胀。

于 2013-08-09T22:18:07.150 回答
0

当然,您可以使用以下方式获取该镜面 TextView 的布局参数;

TextView myTextView=(TextView) findViewById(<your-TextView's-id>);
ViewGroup.LayoutParams layPar=myTextView.getLayoutParams();

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

newView.addView(newTextView);
于 2013-08-09T23:34:54.323 回答