只重新安置孩子,而不是所有的树

我试图重新创buildListView (和AbsListView )的逻辑,与视图回收。 我需要这个,但我们可以说这只是为了理解Android逻辑。

假设我的子项目是相同的(相同的布局),使用固定的高度RelativeLayout

在滚动期间,我正在重复使用ghost子视图并为当前项目设置属性。 它工作正常,因为我正在使用View.offsetTopAndBottom()invalidate()而不是在滚动优化期间请求布局。

我的问题是更新孩子( RelativeLayout )。

项目取决于我想隐藏或显示ImageView上的项目。 为此,我只使用iconImage.setVisibility( GONE )iconImage.setVisibility( VISIBLE )

由于我阻止requestLayout ,它似乎是setVisibility()不能正常工作。

如果我使用requestLayout ,所有的树会测量和布局自己,这不是一个滚动用户体验的好方法。

有回收子项目的请求布局的方法吗?

Solutions Collecting From Web of "只重新安置孩子,而不是所有的树"