首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当项目内容被更改时,android回收视图Layoutmanager的onLayoutChildren调用

当项目内容被更改时,android回收视图Layoutmanager的onLayoutChildren调用
EN

Stack Overflow用户
提问于 2015-04-18 19:08:00
回答 1查看 2.9K关注 0票数 4

我有一个自定义布局管理器的回收视图(它是一个双视图交错网格视图布局管理器https://github.com/lucasr/twoway-view/blob/master/layouts/src/main/java/org/lucasr/twowayview/widget/StaggeredGridLayoutManager.java )。

我用这个来显示图片列表。这些映像是异步加载的,这意味着,当这些项处于活动状态时,我会解码图像数据,然后将该位图加载到列表项视图中。

现在的问题是,每当我将图像位图设置到项目的图像视图上时,就会在布局管理器上调用onLayoutChildren,然后布局管理器再次列出所有子元素。

这是一种预期的行为吗?也就是说,更改子元素的内容(此处,imageview )会导致父回收视图在其布局管理器上发布onLayoutChildren?

如果没有,那我该如何预防呢?

谢谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-19 10:27:51

是的,这就是布局系统的工作方式。如果一个子节点请求一个布局,那么它的所有父级onLayout都将被调用。

如果您的视图在新位图到达时不更改大小,则可以通过编写扩展视图并阻止requestLayout调用的自定义视图来处理它。在“回收视图”的源代码中搜索eatRequestLayout,以了解如何做到这一点。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29721607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档