android使用include调用内部组件报空指针异常解决方案

来源:互联网 发布:被子哪个牌子好 知乎 编辑:程序博客网 时间:2024/06/05 08:17
使用fragment布局时,在onCreateView方法下初始化include的xml中的控件会报空指针,但是获取include的id是OK的
    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {        list_personal_info = (LinearLayout) getActivity().findViewById(R.id.list_personal_info);    list_travels_collection = (LinearLayout) getActivity().findViewById(R.id.list_travels_collection);    list_position = (LinearLayout) getActivity().findViewById(R.id.list_position);    list_settings = (LinearLayout) getActivity().findViewById(R.id.list_settings);        //include下的控件,在这里初始化会报空指针    list_personal_info.findViewById(R.id.left_pic).setBackground(getResources().getDrawable(R.drawable.personal_info));            return inflater.inflate(R.layout.fragment_user, container, false);    }

将include的控件初始化放在onActivityCreated中,就不会报空指针了

 @Override    public void onActivityCreated(Bundle savedInstanceState) {            super.onActivityCreated(savedInstanceState);                list_personal_info = (LinearLayout) getActivity().findViewById(R.id.list_personal_info);    list_travels_collection = (LinearLayout) getActivity().findViewById(R.id.list_travels_collection);    list_position = (LinearLayout) getActivity().findViewById(R.id.list_position);    list_settings = (LinearLayout) getActivity().findViewById(R.id.list_settings);        list_personal_info.findViewById(R.id.left_pic).setBackground(getResources().getDrawable(R.drawable.personal_info));    }


1 0
原创粉丝点击