2012-01-02 3 views
0

View 하위 클래스로 사용자가 손가락으로 "그림을 그릴 수있는보기"를 가져옵니다. 인터페이스 View.OnTouchListener을 구현했습니다.TouchEvent 후에 뷰를 다시 그리려면 어떻게해야합니까?

onTouch 메서드 내에서 뷰 다시 그리기를 트리거하려면 어떻게해야합니까? Thread/Runnable을 구현해야합니까? 나는 invalidate()가 다시 그리기를 유발한다고 생각했지만 이것이 작동하지 않습니다.

답변

1

onTrawEvent 메서드에서 this.invalidate를 호출하기 만하면 onDraw 메서드에서 적절한 작업을 수행하지 않는 한 실제로 을 사용해야합니다. 올바른 캔버스를 참조하고 있는지 확인하십시오. 예를 들어 생성자 대신 overridden 된 onDraw 메서드에있는 것을 그립니다.

@Override 
public boolean onTouchEvent(MotionEvent event) { 
    this.invalidate(); 
    return true; 
} 
+0

답장을 보내 주셔서 감사합니다. OnTouchListener를 등록하는 것을 잊었습니다 :'this.setOnTouchListener (this);'이제는 잘 작동합니다! – warci

관련 문제