关于在 fragment 的setUserVisibleHint 方法中给view赋值 报空指针的问题

问题:项目中发现在setUserVisibleHint中给textview  赋值报空指针. 

解决:最后定位发现是因为 setUserVisibleHint 在生命周期中是 运行在 onCreateView 之前。所以导致textview没有被实例化。

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (isVisibleToUser){
        getPresenter();
    }
}

public void getPresenter(){
    missionId = LocationModelUtil.getMissionId(mContext);
    if (!missionId.isEmpty()) {
        tvMissionname.setText(LocationModelUtil.getMissionName(mContext));
        mPresenter.getTargetUser(account, missionId, queryType);
        mPresenter.getWorkingState(account, missionId);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_36355271/article/details/102793838