We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
问题描述: 1.虚列表中的item是GLoader; 2.GLoader需要从网络中加载不同的图片; 3.虚列表的列表布局为竖向流动,溢出处理为水平滚动,且列表元素数量超过一屏; 4.在图片被加载之前(网络原因导致图片下载较慢),滚动虚列表多次,则会出现这个现象:存在一部分item,他们的GLoader的url不同,却显示相同的图片。 5.滑动虚列表后,原来图片显示异常的item恢复正常。
原因分析: 在网络图片被加载之前,多次滑动虚列表,会给同一个item,添加多个回调函数,而这些回调函数带来的texture,其url是不同的。所以出现上述问题。
解决办法: 修改farirygui源码,在GLoader.onExternalLoadSuccess(texture)的开始处,判断GLoader的url与传入的texture的url是否相同,如果不同,则直接跳出该方法。
可以使用更优雅的解决办法,在执行GLoader.loadExternal()时,先清除旧的回调函数,然后再添加新的回调。但经过跟踪调试,未在对应的laya库中,找到清除旧回调函数的有效方法。
The text was updated successfully, but these errors were encountered:
异步的东西,回来的时候当然要判断。看《教程 列表》关于虚拟列表的注意事项。
Sorry, something went wrong.
这种情况下,虽然Gloader是一个异步操作,即加载的网络图片,但在虚列表的itemRenderer方法中,是直接给item的GLoader的url赋值一个网络图片的url,在这里并没有直接编写异步代码,即
item.gloaderObj.url = 'a net url';
。
所以,“异步……回来的时候要判断”,是指不修改源码,而是实现GLoader的一个子类,并重写onExternalLoadSuccess()方法,进行判断处理吗
可以这样理解。
好的,非常谢谢
No branches or pull requests
问题描述:
1.虚列表中的item是GLoader;
2.GLoader需要从网络中加载不同的图片;
3.虚列表的列表布局为竖向流动,溢出处理为水平滚动,且列表元素数量超过一屏;
4.在图片被加载之前(网络原因导致图片下载较慢),滚动虚列表多次,则会出现这个现象:存在一部分item,他们的GLoader的url不同,却显示相同的图片。
5.滑动虚列表后,原来图片显示异常的item恢复正常。
原因分析:
在网络图片被加载之前,多次滑动虚列表,会给同一个item,添加多个回调函数,而这些回调函数带来的texture,其url是不同的。所以出现上述问题。
解决办法:
修改farirygui源码,在GLoader.onExternalLoadSuccess(texture)的开始处,判断GLoader的url与传入的texture的url是否相同,如果不同,则直接跳出该方法。
可以使用更优雅的解决办法,在执行GLoader.loadExternal()时,先清除旧的回调函数,然后再添加新的回调。但经过跟踪调试,未在对应的laya库中,找到清除旧回调函数的有效方法。
The text was updated successfully, but these errors were encountered: