我創建了一個自定義視圖,並將其添加到我的佈局在xml文件中。我試圖用點擊事件刷新自定義視圖,但我無法弄清楚如何從不同的類調用onDraw方法。 invalidate和postInvalidate不刷新自定義視圖。如何從另一個類調用onDraw?
2
A
回答
4
您應該在視圖內部創建方法,將視圖內部的更改和調用視爲無效。
public void setTextSize (int size) {
mTextSize = size;
invalidate();
}
完全適合我。
0
絕對應該調用View.invalidate()。確保視圖是可見的並且具有度量尺寸 - 即確保視圖getMeasuerdWidth()和getMeasuerdHeight()返回> 0。
您在您的ondraw方法的開始處放置一條日誌消息以驗證它是否有效。但絕對應該是無效的()。可能你的數據沒有變化?
0
無效的視圖結果調用onDraw()方法。
通過調用來自不同類的customViewClassName.invalidate()函數調用onDraw()方法。
0
我會使用消息處理程序來實現這種機制。在您的自定義View類中,創建一個Handler,然後將此處理函數的引用傳遞給該按鈕(例如,在您的Activity的onCreate事件中),然後使用sendMessage()/ handleMessage()機制在Button和其他視圖。
如果需要,此方法還允許所有其他組件與您的自定義視圖很好地交互。
相關問題
- 1. 如何從另一個類調用OnhandleIntent?
- 2. 如何從另一個類調用toolStripProgressBar.PerformStep()
- 3. 如何從另一個類調用JFrame?
- 4. 如何從另一個類調用super()?
- 5. 從另一個類調用一個類
- 6. 從另一個調用類
- 7. 從另一個調用類
- 8. 如何從一個類調用方法到另一個類
- 9. 如何將對象從一個類調用到另一個類
- 10. 如何從Laravel的另一個類調用一個類
- 11. 如何從另一個類調用一個類的方法?
- 12. 如何從另一個類中的一個類調用方法
- 13. 如何從一個類調用另一個類的函數C++
- 14. 如何從一個類中調用另一個類的方法?
- 15. 如何從另一個類中的一個類調用方法
- 16. 如何從一個類調用另一個類的方法?
- 17. 如何從另一個類調用一個類
- 18. 如何從另一個類調用一個類的函數?
- 19. 如何調用從一個類到另一個類的方法
- 20. 從另一個類調用函數,從另一個類
- 21. 從另一個類調用一個值
- 22. 從另一個類調用一個JMenuBar
- 23. 如何調用擴展GLSurfaceView類的onDraw()?
- 24. 如何從另一個類中調用另一個類的方法?
- 25. 在php中,如何從另一個類中的另一個類調用函數?
- 26. 如何從pone類調用類到另一個類
- 27. 從另一個類調用類方法
- 28. 調用從另一個類的Java類
- 29. 從另一個類調用類實例
- 30. 從另一個類中調用PHP類?
我應該從自定義視圖發送什麼信息到我的活動課程?我似乎無法發送無效呼叫或畫布。 – user1134179 2012-01-08 02:35:20