【发布时间】:2012-04-24 16:34:52
【问题描述】:
我正在尝试通过视图回收来重新创建 ListView(和 AbsListView)逻辑。
我需要这个,但我们可以说它只是为了理解 Android 逻辑。
假设我的子项是相同的(相同的布局),使用固定高度RelativeLayout。
在滚动期间,我正在重用幽灵子视图并为当前项目设置属性。
它工作正常,因为我使用 View.offsetTopAndBottom() 和 invalidate() 而不是在滚动期间请求布局以进行优化。
我的问题是更新孩子 (RelativeLayout)。
取决于项目,我想在该项目上隐藏或显示ImageView。为此,我只使用iconImage.setVisibility( GONE ) 和iconImage.setVisibility( VISIBLE )。
由于我屏蔽了requestLayout,看来setVisibility()不能正常工作。
如果我使用requestLayout,所有的树都会自行测量和布局,这不是滚动用户体验的好方法。
有没有办法只在回收子项上请求布局?
【问题讨论】: