2011-07-23 6 views
1

カスタムビューでは、ビューがアプリケーションによって無効にされた場合にのみonDraw()内でいくつかの追加作業を実行する必要があります。つまり、UIスレッドではinvalidate()、UI以外のスレッドではpostInvalidate()と呼ばれる独自のコードです。一方、システムがビューを無効にしたためにonDraw()が呼び出されている場合は、その追加作業を実行することは望ましくありません。ビューが無効にされたときの検出

これを達成する最もよい方法は何ですか?ただちにinvalidate()postInvalidate()をオーバーライドしてその両方にフラグを設定することを考えていますが、オーバーライドできるUIスレッドのメソッドが1つしかない場合は、より良いものになります。

何か考えてください。

おかげで、TREV

答えて

4

postInvalidate()を呼び出す無効に終わる()だから、両方をオーバーライドする必要はありません。しかし、invalidate()をオーバーライドすると、システムはオーバーライドされたバージョンを呼び出します。

+0

ああ、素晴らしい。再度ありがとう、Romain! – Trevor

関連する問題