2010-11-11 92 views
62

我的问题是几乎完全这样一个问题:如何克隆视图?

Clone textview to append it to a ViewGroup

不过,我在不断膨胀的视图,然后尝试在性能方面的原因对象级别克隆它(我不希望每次解析XML单次),所以这个答案不能帮助我。 View.clone()是受保护的,它显然没有复制构造函数。有没有办法做到这一点?

+2

您确定在对象级别上克隆它比在两次膨胀它会快得多吗?什么是指导这个断言? – 2010-11-11 21:04:37

+1

我想我说错了,这更像是我想看看它会更快。 – SapphireSun 2010-11-11 21:22:55

+1

如果您正在创建大量特定视图的实例,那么您应该使用ListView或某些其他元素,以便在您滚动时回收视图实例。 – 2010-11-11 21:48:36

回答

100

你不能克隆视图,做它的方法是每次膨胀你的视图。请注意,XML被编译为二进制文件,可以非常有效地进行解析。

+6

我今天在某处读到膨胀意见是非常昂贵的。特别是在列表中。 – frostymarvelous 2014-06-01 12:20:50

+5

@frostymarvelous,它比重新使用已经创建的视图要昂贵得多(速度明智)(尽管这并不总是一种选择),但在新视图的膨胀和编程创建之间仅有非常微小的差别。 – Jakar 2014-06-22 00:36:56

+4

你不能克隆一个特定的视图! = o太棒了! – usman 2015-02-24 12:31:50