問題描述:今天自定義了一個view,放在recyclerview中顯示,正常每個item顯示的不一樣才對,因為每個不同的item我都對自定義view樣式進行了修改,結果運行時,每個item顯示的樣式都是一樣的,而且是按最后一次設定view的樣式顯示的,經過排查發現我把繪制的引數如:圓半徑和位置,都設定成了靜態的,根據靜態的特性:類創建靜態變數則一起創建,而且生命周期跟類相同,統一在方法區中存在,這樣就導致了,我的所有自定義view用的都是共同的引數,所以就出現了所有自定義view都是一樣的,而且是按最后一次設定引數顯示,因為最后一次引數設定 改變了所有自定義view的引數(他們共用了一個靜態變數),至此 我以為invalidate()無效是錯誤的,
解決辦法:解決辦法當然就是把靜態變數改為普通變數即可,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/249510.html
標籤:其他
上一篇:AsyncTask的使用
下一篇:Android學習筆記(八)
