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