mDualPane = detailsFrame != null && detailsFrame.getVisibility() == View.VISIBLE;
この行の意味は何ですか?= がたくさんあるのはなぜですか?
次のように書くとわかりやすいでしょう。
mDualPane = ((detailsFrame != null) &&
(detailsFrame.getVisibility() == View.VISIBLE));
上記の 2 つの条件の( ) から返される単一のboolean
値に分割します。AND
&&
detailsFrame != null
と
detailsFrame.getVisibility() == View.VISIBLE
detailsFrame != null
NPE を回避するために、最初にそれを確認します。次に、次の呼び出しによって可視であることを確認します。detailsFrame.getVisibility()
つまり、
detailsFrame NOT null AND detailsFrame.getVisibility() IS View.VISIBLE の場合
mDualPane が等しい場合、mDualPaneは等しくなりtrue
ますfalse
。
mDualPane = detailsFrame != null && detailsFrame.getVisibility() == View.VISIBLE;
mDualPane
が表示さtrue
れdetailsFrame
ます。
mDualPane はブール値のようです。
行は、detailsFrame が null ではなく、詳細フレームが Visible の場合に mDualPane が true になることを意味します