2012-04-19 4 views
0

문제 :보기의 트리 업데이트 안드로이드

나는 계급을 가지고 LinearLayout에서 상속 받았습니다. 이 클래스는 생성자에 몇 가지 버튼을 만들고 addChild()을 사용하여 버튼을 자체에 삽입합니다. 메소드 onSizeCHanged을 오버로드했으며이 메소드에 일부 하위 항목을 추가하려고합니다. 그러나 다른 버튼 중 하나를 클릭 할 때까지 변경 사항이 적용되지 않습니다.

기존 단추 중 일부를 누른 다음 추가 한보기가 나타납니다. (그건 그렇고, ontouchlistener가있는 버튼 만 사용합니다. 청취자가없는 버튼은 새로운 뷰를 만들 수 없습니다).

보기를 추가하는 방법은 onSizeChange에서 즉시 나타나나요?

추가 : 방법 forceLayout()requestLayout()은 작동하지 않습니다.

+0

완료했습니다 ... – user1038085

+0

onLayout()을 재정의 하시겠습니까? – Shubhayu

+0

아니요, onLayout을 재정의하지 않습니다. – user1038085

답변

0

내가 직접 LinearLayout을 확장하지는 않았지만 클래스를 조금 읽었고 onLayout()을 재정의하고 하위 뷰를 추가해야한다고 생각합니다. 메신저 onSizeChanged "사실"을 설정하고 "무효화"를 호출, 간단한 부울 플래그를 만들기 : 워드 프로세서를 확인하고

http://developer.android.com/reference/android/widget/LinearLayout.html#onLayout(boolean,%20int,%20int,%20int,%20int을 도움이된다면이 솔루션은 한

0

)를 참조하십시오.

"onDraw"메서드에서 flag가 true인지 확인하고 true 인 경우 requestLayout을 호출합니다. 그런 다음 플래그를 false로 설정하십시오.