在ListView的onItemClickListener中调用Horizo​​ntalScrollView.getRight()的问题。

时间:2013-02-04 14:38:51

标签: android scrollview onitemclicklistener

我有一个Horizo​​ntalScrollView,它包含可变数量的VISIBLE或GONE ListView。

当调用ListView的OnItemClickListener时,部分处理代码会更改其他ListView的可见性。

作为OnItemClickListener的一部分,我正在尝试使用Horizo​​ntalScrollView.scrollTo()在ScrollView的右侧显示新显示的ListView。

在使ListViews变为VISIBLE或GONE后,scrollView.getRight()不会报告scrollView内容的更改大小。在OnItemClickListener返回后,它会报告正确的新内容大小。

我错过了某种形式的OnReflowed回调吗?

在OnItemClickListener退出后,如何在重排布局后立即执行.getRight()?

1 个答案:

答案 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);
}