一句话,不要在
onActivityCreated
里面初始化控件
请在
onCreateView
里面初始化
之前都是,这样不行的
nickname = (TextView) getActivity().findViewById(R.id.nickname);
要改成
nickname = (TextView) rootView.findViewById(R.id.nickname);
1.先定义定义一下View
private View rootView;
onCreateView这样写
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (null != rootView) {
ViewGroup parent = (ViewGroup) rootView.getParent();
if (null != parent) {
parent.removeView(rootView);
}
} else {
rootView = inflater.inflate(R.layout.fragment_home, container, false);
initView();// 控件初始化
}
return rootView;
}
private void initView() {
nickname = (TextView) rootView.findViewById(R.id.nickname);
}