私は現在、多くのチェックボックス(具体的には39)を備えたアプリを作成しており、クリックするとチェックを外すボタンを実装したいと考えています。私はボタンをあまり使ったことがないので (これまでのところ、新しいアクティビティを開始するためだけに使用していました)、どのように機能するかはまだ完全にはわかりません。いくつかの調査を行った後、これが私が思いついたものです。39 個のチェックボックスがありますが、短くするために、このコードにはいくつかだけ貼り付けます。
CheckBox cb1 = (CheckBox) findViewById(R.id.checkBox2);
CheckBox cb2 = (CheckBox) findViewById(R.id.checkBox3);
CheckBox cb3 = (CheckBox) findViewById(R.id.checkBox4);
public void onClick (View v){
switch (v.getId()) {
case R.id.button1:
cb1.setChecked(false);
cb2.setChecked(false);
cb3.setChecked(false);
}
}
LogCat:
06-12 06:45:09.922: E/AndroidRuntime(6623): FATAL EXCEPTION: main
06-12 06:45:09.922: E/AndroidRuntime(6623): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.gw2legendary/com.example.gw2legendary.Bifrost}: java.lang.NullPointerException
06-12 06:45:09.922: E/AndroidRuntime(6623): Caused by: java.lang.NullPointerException
問題は、このコードを追加して開こうとするとすぐにアクティビティがクラッシュすることです。このコードを削除すると、アクティビティは正常に開始されます。