【发布时间】:2013-12-09 10:04:34
【问题描述】:
当我将CheckBox 添加到我的ArrayList 时,我的程序崩溃了。我看不出我在哪里或如何没有声明CheckBox。任何帮助表示赞赏。
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;
}
}
当片段加载时它崩溃并且我的 logcat 给了我以下错误
11-24 14:54:36.961: E/AndroidRuntime(3399): java.lang.NullPointerException
11-24 14:54:36.961: E/AndroidRuntime(3399): at com.example.myproject.Para_First_Fragment.onCreateView(Para_First_Fragment.java:43)
第 43 行在上面的代码中进行了注释。现在CheckBox 没有被“检查”,但我无法想象这很重要。我有一种感觉,我在应该声明或添加它之前/之后。感谢您的帮助!
【问题讨论】:
-
查看
Para_First_Fragment类中的第 43 行。 -
好吧,你并没有真正初始化列表。
-
是的,我需要一些空气。这是一个太愚蠢的错误,不容错过。向上有人得到一些代表,向下我无疑会得到反对票,而且我进一步促成了同一问题的超过 100000... =(
-
这里真正的教训是你不应该通过stackoverflow进行调试。对于这种特殊情况,它只是: Something 为空。是否已初始化?没有。完成了。 我知道刚接触编程的人不会意识到这一点,但他们可以进行研究。
-
@ᴋᴇʏsᴇʀ 是的,我第一次投票结束我自己的问题。这本身就应该说明问题。
标签: java android checkbox arraylist