Ich habe eine benutzerdefinierte Ansicht dynamisch eingefügt und die onDraw
wird nicht aufgerufen. Ich habe zunächst die benutzerdefinierte Ansicht ohne die dynamische Einfügung gemacht, und es funktionierte gut, aber wenn ich es auf meine Arbeitscode-Basis verschiebe, kann ich onDraw
nie abgerufen werden, obwohl der Ansichtskonstruktor aufgerufen wird und die onMeasure
auch aufgerufen wird. Ich habe versucht, invalidate()
und postInvalidate()
Anrufe um den Ort zu setzen, aber sie scheinen nicht zu zwingen, die Ansicht zu zeichnen. Die Ansichtshierarchie sieht für beide Versionen gleich aus und ich bin verloren.Android - onDraw wird nicht dynamisch eingefügte benutzerdefinierte Ansicht aufgerufen
Kann jemand helfen?
EDIT: Ein bisschen mehr Tests haben gezeigt, dass onDraw
auf dem Emulator, aber nicht das Mobilteil angerufen wird. Auch onSizeChanged
auf dem Mobilteil hat die richtigen Werte durchkommen, aber auf dem Emulator sind die Werte alle 0.
EDIT: Ich habe damit herum gespielt und kann immer noch nirgendwo hin, also habe ein Kopfgeld draufgesetzt es. Wenn Sie mehr Code/XML/Info benötigen, lassen Sie es mich bitte wissen.
Vielen Dank für Ihre Antwort, aber die Ansichten werden nicht im Hierarchie-Viewer angezeigt und wenn requestLayout mit einer Log-Anweisung überschrieben wird, wird es sicherlich aufgerufen. Tatsächlich wird das Testen auf dem Emulator - onDraw jetzt aufgerufen, aber die Zeichenfläche hat Dimensionen des gesamten Bildschirms, nicht nur die Ansicht. – Martyn