問題:項目中發現在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); } }