我有一个HorizontalScrollView,它包含可变数量的VISIBLE或GONE ListView。
当调用ListView的OnItemClickListener时,部分处理代码会更改其他ListView的可见性。
作为OnItemClickListener的一部分,我正在尝试使用HorizontalScrollView.scrollTo()在ScrollView的右侧显示新显示的ListView。
在使ListViews变为VISIBLE或GONE后,scrollView.getRight()不会报告scrollView内容的更改大小。在OnItemClickListener返回后,它会报告正确的新内容大小。我错过了某种形式的OnReflowed回调吗?
在OnItemClickListener退出后,如何在重排布局后立即执行.getRight()?
答案 0 :(得分:0)
解决方案是:
1)在ScrollView和ListViews之间插入(线性)布局的子类
2)将onSizeChanged方法添加到子类:
public void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
((HorizontalScrollView) getParent()).scrollTo(w, 0);
}