2010-11-11 95 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