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>();