egret-labs / egret-core

Egret is a brand new open mobile game and application engine which allows you to quickly build mobile games and apps on Android,iOS and Windows.
http://www.egret.com
Other
3.92k stars 795 forks source link

fix: 虚拟列表使用错误的itemRenderer #412

Open yeling584283398 opened 3 years ago

yeling584283398 commented 3 years ago

当使用eui.ItemRenderer时会给ItemRenderer赋值$hashCode,之后使用其他继承于eui.ItemRenderer的其他ItemRenderer就会直接读取到eui.ItemRenderer的$hashCode,而无法创建新的$hashCode; 最终导致:当虚拟列表使用两个不同的renderer时,由于他们的$hashCode是一样的,所以执行createVirtualRenderer方法时会取之前缓存的renderer,最终所有Item都是同一个renderer