2012-09-10 2 views
3

을 무효로하고 나는 자신이 정말 혼란 찾을 :안드로이드 Google지도는 웁니다() VS 난 내지도를 짓고 있어요) (

내가 내가 오버레이를 관리하고있어 ItemizedOverlay 클래스의 확장이있다.

셸에서 mapView의 오버레이를 업데이트하기 위해 populate() 함수를 사용하는 경우와지도를 업데이트하기 위해 invalidate() 또는 postInvalidate()를 사용해야하는 경우가 있습니다.

가끔은 이것이 작동하고, 때로는 다른 동작을하는 경우가 있습니다.

만약 누군가가 각 기능이 무엇을 정확하게 설명하는지 친절히 알면 괜찮은 설명을 찾을 수 없기 때문에 감사 할 것입니다.

답변

3

채우기 오버레이를 채울하고자 할 때()를 사용해야합니다. 모두 다시 그려야한다면 UI 스레드 인 경우 invalidate()를, 다른 스레드 인 경우 postInvalidate()를 사용해야합니다. 무효화 메소드는 단추, 텍스트보기 또는 기타 어떤보기에도 적용 할 수 있습니다. 그들은 기본적으로 안드로이드에게 보여지는 데이터 나 버튼의 상태 나 색깔 등 무엇인가가 View와 관련하여 바뀌 었다고 말합니다. 안드로이드는 View의 onDraw() 메소드를 호출하여 가능한 한 빨리 View를 다시 그려 봅니다.

0

나는 항상 무효화()을 사용하고 (즉, 항상 갱신) ... 그것으로 문제가 없었

관련 문제