2013-09-24 62 views
0

當對ListView中的項目設置動畫高度時,ViewBinder中的setViewValue()方法對於每次佈局更改都會被調用幾次,從而使動畫非常慢。Android:只改變佈局時避免視圖無效

我目前正在通過在onAnimationStart()中設置disableViewUpdate標誌並在onAnimationEnd()中將其關閉來解決此問題。如果標誌被設置,則setViewValue()返回true,避免任何數據庫查找。但是在每個動畫步驟中仍然有數十或數百個致電setViewValue()的電話。

我的問題是:有沒有辦法避免setViewValue()被稱爲佈局更改的結果?

回答

0

我只是繼續從ListView繼承,覆蓋該方法,然後避免任何操作時調用方法和視圖是動畫。

希望這有助於:)

+0

我應該重寫哪種方法?我嘗試了requestLayout()和isLayoutRequested(),但沒有一個用於阻止ViewBinder中的setViewValue()被調用。我也試圖調用postInvalidateDelayed(long delayMilliseconds),但沒有成功。 –