简体   繁体   English

设置适配器时的空指针

[英]nullpointer when setting adapter

I am trying to set an adapter for a ListView in one of my fragments. 我试图在我的一个片段中为ListView设置适配器。 However, I am receiving a null pointer error and I'm not sure whats wrong. 但是,我收到一个空指针错误,我不确定是什么错误。

public class OptionsFragment extends Fragment{

    ArrayAdapter<String> adapter;
    //ArrayAdapter<String> adapter1 = ArrayAdapter.createFromResource

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.optionsfragmentnew, container, false);

        ListView cListView = (ListView) rootView.findViewById(R.id.currencyListView);
        String[] test = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
        adapter = new ArrayAdapter<String>(this.getActivity(), android.R.layout.simple_list_item_1, test);

        //View v = inflater.inflate(R.layout.optionsfragmentnew, container, false);
        cListView = (ListView) rootView.findViewById(android.R.id.list);
        cListView.setAdapter(adapter);

        return rootView;
    }
}

onActivityCreated()方法而不是onCreateView()期间设置适配器。

I hope this code will help You 希望这段代码对您有帮助

public class OptionsFragment extends Fragment {

ListView list;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    return inflater.inflate(R.layout.activity_main, container, false);
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    list = (ListView) getActivity().findViewById(R.id.list);
    String[] test = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
    ArrayAdapter adapter = new ArrayAdapter<String>(this.getActivity(), android.R.layout.simple_list_item_1, test);
    list.setAdapter(adapter);

}

} }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM