2013-02-04 5 views
1

VISIBLE 또는 GONE ListViews의 가변 수를 포함하는 HorizontalScrollView가 있습니다.ListView의 onItemClickListener 내에서 HorizontalScrollView.getRight()를 호출하는 데 문제가 있습니다.

ListView의 OnItemClickListener가 호출되면 처리 코드의 일부가 다른 ListView의 가시성을 변경합니다.

OnItemClickListener의 일부로 HorizontalScrollView.scrollTo()를 사용하여 ScrollView의 오른쪽에 새롭게 표시되는 ListView를 표시하려고합니다.

ListView가 VISIBLE 또는 GONE이 된 후에 scrollView.getRight()가 scrollView 내용의 변경된 크기를보고하지 않습니다. OnItemClickListener가 반환 된 후 올바른 새 콘텐츠 크기를보고합니다.

내가 놓친 OnReflowed 콜백의 양식이 있습니까?

어떻게하면 OnItemClickListener가 종료 된 후 레이아웃이 리플 로우되는 즉시 .getRight()를 수행 할 수 있습니까?

1)가있는 ScrollView와의 ListView

2

) 서브 클래스에 onSizeChanged 수단을 추가 간의 제 (선형 서브 클래스)의 레이아웃 삽입 :

+0

사용을 유명한 OnGlobalLayoutListener http://www.sherif.mobi/2013/01/how-to-get-widthheight-of-view.html –

답변

0

해결 하였다

public void onSizeChanged(int w, int h, int oldw, int oldh) { 
    super.onSizeChanged(w, h, oldw, oldh); 
    ((HorizontalScrollView) getParent()).scrollTo(w, 0); 
} 
관련 문제