사용자 정의보기를 작성하여 xml 파일의 제 레이아웃에 추가했습니다. 클릭 이벤트를 사용하여 사용자 지정보기를 새로 고치려고하지만 다른 클래스에서 onDraw 메서드를 호출하는 방법을 알 수 없습니다. invalidate 및 postInvalidate가 사용자 정의보기를 새로 고치지 않습니다.다른 클래스에서 onDraw를 호출하려면 어떻게해야합니까?
2
A
답변
4
뷰 내부에서 변경 사항을 호출하고 무효화를 호출하는 메서드를 만들어야합니다.
public void setTextSize (int size) {
mTextSize = size;
invalidate();
}
완벽하게 작동합니다.
0
확실히 View.invalidate()를 호출해야합니다. 보기가 표시되고 측정 크기가 있는지 확인합니다. 즉,보기 getMeasuerdWidth() 및 getMeasuerdHeight()이> 0을 반환하는지 확인합니다.
ondraw 메서드의 시작 부분에 로그 메시지를 넣어 작동하는지 확인하십시오. 확실히 invalidate()되어야합니다. 데이터가 변경되지 않았을 가능성이 있습니까?
0
onDraw() 메서드 호출 결과를 무효화합니다.
다른 클래스에서 customViewClassName.invalidate()를 호출하면 onDraw() 메서드가 호출됩니다.
0
이러한 메커니즘을 달성하기 위해 메시지 처리기를 사용합니다. 사용자 정의 View 클래스에서 Handler을 만든 다음이 핸들러에 대한 참조를 버튼 (예 : Activity의 onCreate 이벤트)에 전달한 다음 sendMessage()/handleMessage() 메커니즘을 사용하여 Button과 다른보기.
이 방법을 사용하면 필요한 경우 다른 모든 구성 요소가 사용자 정의보기와 잘 상호 작용할 수 있습니다.
관련 문제
- 1. 기본 클래스에서 GetCustomAttributes를 호출하려면 어떻게해야합니까?
- 2. HtmlHelper 클래스에서 Url.Action을 호출하려면 어떻게해야합니까?
- 3. PHP에서 다른 클래스의 다른 클래스에서 함수를 호출하려면 어떻게해야합니까?
- 4. 다른 사이트를 호출하려면 어떻게해야합니까?
- 5. 다른 클래스의 메서드를 호출하려면 어떻게해야합니까?
- 6. 배열의 하위 클래스에서 올바른 메서드를 호출하려면 어떻게해야합니까?
- 7. Java의 하위 클래스에서 메서드를 호출하려면 어떻게해야합니까?
- 8. 다른 클래스에서 ACTION_SEND를 사용하기 위해 startActivity()를 호출하려면 어떻게해야합니까?
- 9. PHP에서 별도의 클래스에서 정적 변수를 호출하려면 어떻게해야합니까?
- 10. 파생 클래스에서 정적 메서드를 동적으로 호출하려면 어떻게해야합니까?
- 11. WordPress 플러그인의 클래스에서 함수를 호출하려면 어떻게해야합니까?
- 12. 루비 보석의 클래스에서 메소드를 호출하려면 어떻게해야합니까?
- 13. onDraw를 주기적으로 호출하는 방법은 무엇입니까?
- 14. 다른 EJB에서 EAR의 원격 EJB를 호출하려면 어떻게해야합니까?
- 15. 메소드를 다른 클래스로 이동하여 호출하려면 어떻게해야합니까?
- 16. Radiant CMS에서 다른 부모의 하위를 호출하려면 어떻게해야합니까?
- 17. Selenium에서 함수를 작성하고 다른 페이지에서 호출하려면 어떻게해야합니까?
- 18. couchdb 뷰에서 다른 뷰를 호출하려면 어떻게해야합니까?
- 19. 다른 폼에서 메소드를 호출하려면 어떻게해야합니까? C#을
- 20. iOS의 다른 클래스에서보기 컨트롤러 메소드를 호출하려면 어떻게해야합니까?
- 21. 하위 클래스의 수퍼 클래스에서 getter/setter를 호출하려면 어떻게해야합니까?
- 22. 하위 클래스에서 재정의 된 부모 클래스 메서드를 호출하려면 어떻게해야합니까?
- 23. alarmManager의 의도에 따라 클래스에서 로컬 메서드를 호출하려면 어떻게해야합니까? 예를 들어
- 24. backgroundWorker의 외부 클래스에서 호출 된 메서드에서 양식의 메서드를 호출하려면 어떻게해야합니까?
- 25. SAP에서 ActiveX를 호출하려면 어떻게해야합니까?
- 26. 메소드를 호출하려면 어떻게해야합니까?
- 27. 개체에 '! ='메서드를 호출하려면 어떻게해야합니까?
- 28. dll에서 함수를 호출하려면 어떻게해야합니까?
- 29. Node.js에서 Ruby를 호출하려면 어떻게해야합니까?
- 30. 개인 기능을 호출하려면 어떻게해야합니까?
사용자 지정보기에서 내 활동 클래스로 어떤 메시지를 보내야합니까? 겉으로는 무효화 또는 캔버스를 보낼 수 없습니다. – user1134179