Android-Quellcode für ProgressBar.java macht keinen Sinn
-
28-10-2019 - |
Frage
Ich überprüfe den ProgressBar.java-Quellcode aus dem SDK von Android.In Zeile 191 von android.widget.ProgressBar heißt es:
mMinHeight = a.getDimensionPixelSize(R.styleable.ProgressBar_minHeight, mMinHeight));
Warum wird mMinHeight in der Parameterliste gleichzeitig verwendet, während es initialisiert wird?Kann jemand Licht ins Dunkel bringen?Den vollständigen Quellcode finden Sie hier unter grepcode .
Lösung
Siehe in Zeile 171, wo initProgressBar
aufgerufen wird?Diese Methode initialisiert mMinHeight auf den Wert 24. Dann verwendet der Aufruf von getDimensionPixelSize
diesen als Standardwert.
Andere Tipps
Der zweite Parameter ist nur ein Standardwert, der zurückgegeben werden soll, wenn der generationspflichtige Wert den angeforderten Wert nicht finden kann.Es ist üblich (falls etwas komisch), um die Variable zu übergeben, die Sie versuchen, als Standardwert festzulegen.Effektiv sagt, dass dieser Code "diesen Wert einstellen, wenn Sie es haben, oder einfach die Variable verlassen, wenn Sie dies nicht tun.