Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将复选框添加到ArrayList Android时的空指针?_Java_Android_Checkbox_Arraylist - Fatal编程技术网

Java 将复选框添加到ArrayList Android时的空指针?

Java 将复选框添加到ArrayList Android时的空指针?,java,android,checkbox,arraylist,Java,Android,Checkbox,Arraylist,当我将复选框添加到ArrayList时,我的程序正在崩溃。我看不出我没有在哪里或如何声明复选框。感谢您的帮助 public class Para_First_Fragment extends Fragment { View view; ArrayList<CheckBox> ethChecks; CheckBox cb_white, cb_black, cb_asian, cb_native, cb_other;

当我将
复选框添加到
ArrayList
时,我的程序正在崩溃。我看不出我没有在哪里或如何声明
复选框
。感谢您的帮助

public class Para_First_Fragment extends Fragment {
    View view;      

    ArrayList<CheckBox> ethChecks;      
    CheckBox cb_white, cb_black, cb_asian, cb_native, cb_other;     

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

        view = inflater.inflate(R.layout.para_first_fragment, container, false);            

        cb_white = (CheckBox) view.findViewById(R.id.fpc_white_cb);
        cb_black = (CheckBox) view.findViewById(R.id.fpc_black_cb);
        cb_asian = (CheckBox) view.findViewById(R.id.fpc_asian_cb);
        cb_native = (CheckBox) view.findViewById(R.id.fpc_natives_cb);
        cb_other = (CheckBox) view.findViewById(R.id.fpc_other_cb);

        ethChecks.add(cb_white); <-- Line 43
        ethChecks.add(cb_black);
        ethChecks.add(cb_asian);
        ethChecks.add(cb_native);
        ethChecks.add(cb_other);            

        return view;
    }

}

第43行在上面的代码中有注释。现在,
复选框
没有被“选中”,但我无法想象这有什么关系。我有一种感觉,我正在声明或添加它之前/之后,我应该。谢谢你的帮助

您从未将
ArrayList
分配给ethChecks,因此它仍然为空

在声明字段的位置直接初始化它:

List<CheckBox> ethChecks = new ArrayList<CheckBox>();

您还必须初始化ArrayList

ArrayList<CheckBox> ethChecks = new ArrayList<CheckBox>();
ArrayList ethChecks=new ArrayList();

看看你的
Para_First_片段
类中的第43行。嗯,你没有真正初始化列表。是的,我需要一些空气。这是一个愚蠢的错误,不容错过。好的方面是有人得到了一些代表,坏的方面是我无疑会得到反对票,而且我对同一个问题贡献了超过100000的选票=(这里真正的教训是,你不应该通过stackoverflow进行调试。对于这种特殊情况,它只是:某个东西是空的。它初始化了吗?不。完成了。我意识到编程新手不会意识到这一点,但他们可以做研究@ᴋᴇʏsᴇʀ是的,我第一次投票结束我自己的问题。这本身就应该说明一些事情。杀了我吧……脸掌。时间到了10分钟后,答案就会被接受。谢谢你,谢谢你花时间回答这样一个愚蠢的问题。是时候呼吸一下空气了,我不应该错过这个机会
ethChecks = new ArrayList<CheckBox>();
ArrayList<CheckBox> ethChecks = new ArrayList<CheckBox>();