一句话,不要在
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);
}
博客指出在Android开发中,不要在某位置初始化控件,而应在另一位置进行初始化,并提到要先定义View。强调了控件初始化位置的重要性,避免错误操作。

3万+

被折叠的 条评论
为什么被折叠?



