2
런타임에 화면에 컨트롤을 레이아웃하는 앱이 있는데, 너비가 WRAP_CONTENT
인 뷰에서 measure
을 호출하는 각 컨트롤을 통과합니다.측정치 캐시를 지우는 방법
스텐실 버전의 뷰를 표시하기 위해 뷰에 데이터를 설정하기 전에이 작업을 수행 한 다음 뷰에 실제 데이터를 설정 한 후에이 작업을 수행합니다.
동일한 입력으로 측정 값을 두 번 호출하므로 측정 값 캐시에 두 번째로 도달하고 컨트롤의 데이터가 변경된 이후에 뷰의 실제 측정 값이 변경되었지만 측정하지 못하는 것이 문제입니다 .
두 번째 호출에서 강제로 다시 측정 할 수있는 방법이 있습니까?
나는에 의해이 문제를 해결 일한 onMeasure를 호출하는 measureActually 메소드로 서브 클래스를 생성한다 (onMeasure가 보호되어 있기 때문에 필요하다). 분명히 캐시를 지우는 것을 선호합니다. - / –