2016-08-01 30 views
2

Robolectric 3.0 zur Verfügung gestellt ShadowViewTreeObserver Klasse, aber es fehlt in Robolectric 3.1.ShadowViewTreeObserver fehlt in Robolectric 3.1

Das offizielle Upgrade-Handbuch (https://github.com/robolectric/robolectric/wiki/3.0-to-3.1-Upgrade-Guide) berichtet, dass Shadow-Methoden aufgrund der Vervielfältigung von Android-API-Funktionen entfernt wurden. ShadowViewTreeObserver wird dort jedoch nicht erwähnt.

Was ist mit dieser Klasse passiert? Sollten Android API-Methoden von ViewTreeObserver anstelle von diesem bestimmten Schatten in 3.1 verwendet werden?

+0

Wie Sie es verwenden? –

+0

Ich benutze es gerade nicht, ich habe es einfach gelernt und wollte es versuchen, aber ich fand heraus, dass es nicht in 3.1 enthalten ist. Ich war daran interessiert, das OnGlobalLayout-Ereignis an alle Listener auszulösen, aber da regulärer ViewTreeObserver dasselbe tun konnte, fragte ich mich, ob ShadowViewTreeObserver einfach entfernt wurde (und der Upgrade-Guide konnte es nicht erwähnen), oder seine Funktionalität wurde in eine andere Klasse verschoben –

Antwort

1

Ja, in Robolectric 3.1.x gibt es keine ShadowViewTreeObserver Klasse, Check: Overview.

Der Grund für diese Änderung ist in diesem merge Anfrage erklärt Deleting ShadowViewTreeObserver as it reimplements what the real class does. #2308, die

genannt commit nur eine hat, wie Sie die Antwort auf Ihre Frage in begehen würde sehen würde: https://github.com/robolectric/robolectric/pull/2308/commits/e10bddd18ebb3df14423d3743e11772e4fd76e49.

Was könnte für Sie interessant sein, es hat nur ein Commit, das eine Lösung im Namen hat, wie es heißt Deleting ShadowViewTreeObserver. Please use the real class moving forward.

erzählt von Schatten Methoden aufgrund von Doppel Android API funtionalities entfernt wird, noch ShadowViewTreeObserver wird dort nicht erwähnt.

Scheint sie ihre Dokumente zu aktualisieren vergessen ;-)

Hoffe, es hilft