mDualPane = detailsFrame != null && detailsFrame.getVisibility() == View.VISIBLE;
这条线是什么意思?为什么有那么多=?
如果这样写会更容易理解:
mDualPane = ((detailsFrame != null) &&
(detailsFrame.getVisibility() == View.VISIBLE));
它将它分解为从上述两个条件的( )boolean
返回的单个值:AND
&&
detailsFrame != null
和
detailsFrame.getVisibility() == View.VISIBLE
detailsFrame != null
为了避免 NPE,我们首先检查它——然后我们通过调用来检查它是否可见:detailsFrame.getVisibility()
这意味着
如果 detailsFrame不为空 且detailsFrame.getVisibility ()是View.VISIBLE
然后 mDualPane 等于true
否则 mDualPane 将等于false
。
mDualPane = detailsFrame != null && detailsFrame.getVisibility() == View.VISIBLE;
mDualPane
将是true
什么时候detailsFrame
可见。
mDualPane 似乎是一个布尔值。
该行表示如果 detailsFrame 不为 null 并且 details frame 为 Visible,则 mDualPane 将为 true