【发布时间】:2010-11-17 23:55:46
【问题描述】:
我有一个画廊,在每个视图中都有 7 个以上的线性布局,我根据我从数据库中提取的数据、画廊的位置等动态地为其中 7 个布局设置了背景可绘制对象。
我有一个 for 循环,它启动 7 个线程来获取数据并获取生成可绘制对象所需的信息,所有这些都通过一个公共处理程序返回,该处理程序又获取每个线性布局并运行 setBackgroundDrawable()在他们每个人身上。
我遇到的问题是我可以看到我的可绘制构造函数运行了 7 次,但 draw() 仅在其中 1 或 2 次上调用。如果我向右或向左滚动,新视图也会发生同样的事情。但是,如果我滚动回已经绘制的屏幕,所有 7 个线性布局的背景都会正确绘制。
我尝试在线性布局、它们的父级、画廊上调用 invalidate() 和 requestLayout(),但无济于事。
我会发布我的代码,但其中有一大堆代码,我祈祷我的解释提供了足够的背景。感谢您的帮助
【问题讨论】:
标签: android