片段的onResume()中的getview()

时间:2015-05-04 17:20:36

标签: android android-fragments nullpointerexception

我在片段的onResume()下面有代码。

getView().setFocusableInTouchMode(true);
getView().requestFocus();

由于此代码是从onResume()内部调用的,因此我没有使用空检查。

所以,我写的不像下面那样:

if(getView() != null){
getView().setFocusableInTouchMode(true);
getView().requestFocus();
}

我的问题是:在这种情况下跳过空检查是否可以,或者我是否应该将代码添加到空检查?

getview()中,onResume()在什么情况下为空?

1 个答案:

答案 0 :(得分:2)

根据this lifecycle diagramgetView()中的null永远不应为onResume。但是,在这种情况下,防守并不会真的受到伤害。我可能会将视图拉入本地参考,而不是三次调用getView()

View view = getView();
if (view != null) {
    view.setFocusableInTouchMode(true);
    view.requestFocus();
}