问题:项目中发现在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); } }