2010-12-05 36 views
3

我有一個正在動態插入的自定義視圖,而onDraw未被調用。我最初做了沒有動態插入的自定義視圖,它工作得很好,但是當它移動到我的工作代碼庫時,即使視圖構造函數被調用並且onMeasure也被調用,我仍無法獲得onDraw。我已經嘗試過在該地附近撥打invalidate()postInvalidate(),但他們似乎並未強制該視圖繪製。兩個版本的視圖層次結構看起來都是一樣的,我迷路了。Android - 在動態插入的自定義視圖中未調用onDraw

誰能幫助?

編輯:多一點測試表明onDraw被調用在模擬器上,但不是手機。手機上的onSizeChanged也有正確的值,但在模擬器上的數值都是0.

編輯:我一直在玩它,仍然無法獲得任何地方,所以已經把賞金它。如果你需要更多的代碼/ XML /信息,請讓我知道。

回答

1

我改變了ViewTextView,似乎現在的工作,雖然我爲爲什麼View沒有工作有點困惑。

1

這聽起來很像我最近遇到的問題,用我的第一個自定義視圖。您是否注意到,在加載視圖層次結構時,您的自定義視圖顯示出來了嗎?無論如何,他們出現在線框預覽或沒有?

如果是後者,則不會調用requestLayout()(在每個視圖上加載視圖層次調用 - 這就是爲什麼它會使視圖顯示)。我也發現一個類似的bug已經被報告了here

+0

感謝您的回答,但視圖不會顯示在層次結構查看器中,並且當requestLayout被日誌語句覆蓋時,它肯定會被調用。實際上,在模擬器上進行測試 - onDraw現在被調用,但畫布的尺寸是全屏,而不僅僅是視圖。 – Martyn 2010-12-05 19:08:46

相關問題