Im Quellcode von Fragment
, gibt es ein Feld mActivity
genannt:wann wird Fragment.mActivity field geschrieben?
package android.app;
public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListener {
// Activity this fragment is attached to.
Activity mActivity;
Um wo dieses Feld geschrieben zu finden ist, habe ich wie folgt versucht haben:
Ich habe den Quellcode
Fragment
geprüft, und ich fand nur ein Schreibverhalten inFragment.initState()
Methode:mActivity = null;
Aber verwendet
mActivity
sehr häufig, es muss irgendwo das Feld geschrieben werden.Der Zugriff von
mActivity
istdefault
, also vielleicht gibt es andere Klassen, die dieses Feld schreiben werden. Dann habe ich die Verwendung der Klasse überprüft, aber nichts, was ich relativ zum Schreibverhalten dieses Feldes gefunden habe.Weiß nicht was als nächstes zu tun, vielleicht einige spezielle Prozesse in Android?
Könnte mir jemand sagen, ob die Art und Weise über richtig ist es, Antworten auf solche Fragen zu finden? Bitte geben Sie mir einen Ratschlag zur Verwendung einer Klasse/Feld/Methode.
Haben Sie schon einmal das Auftreten von 'Fragment' Klasse überprüft? Wenn nicht, könntest du mir bitte sagen, wie schnell du findest, dass die Zeile das Feld verändert hat? Vielen Dank! – JY0284
Sie sind mit der falschen Klasse verknüpft. Die Frage war über 'android.app', nicht unterstützen v4-Bibliothek –
@ cricket_007, habe ich' finden Verwendungen' in Android Studio für das Finden von Akzessionen zu 'Fragment.mActivity'. Wie für die falsche Klasse - es ist das gleiche für 'android.app.FragmentManager'. Der einzige Unterschied ist in der Zeilennummer: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1.1_r1/android/app/FragmentManager.java#848 –