我在片段的onResume()
下面有代码。
getView().setFocusableInTouchMode(true);
getView().requestFocus();
由于此代码是从onResume
()内部调用的,因此我没有使用空检查。
所以,我写的不像下面那样:
if(getView() != null){
getView().setFocusableInTouchMode(true);
getView().requestFocus();
}
我的问题是:在这种情况下跳过空检查是否可以,或者我是否应该将代码添加到空检查?
在getview
()中,onResume
()在什么情况下为空?
答案 0 :(得分:2)
根据this lifecycle diagram,getView()
中的null
永远不应为onResume
。但是,在这种情况下,防守并不会真的受到伤害。我可能会将视图拉入本地参考,而不是三次调用getView()
。
View view = getView();
if (view != null) {
view.setFocusableInTouchMode(true);
view.requestFocus();
}