I am trying to set a OnCheckedChangeListener to a CheckBox but my application exits in the run time. I also tried to set listeners for my Tex
public class MainActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener {
List mList = new ArrayList<>();
CheckBox android, java, python, php, unity3D;
Button submitButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
android = (CheckBox) findViewById(R.id.androidCheckBox);
android.setOnCheckedChangeListener(this);
java = (CheckBox) findViewById(R.id.javaCheckBox);
java.setOnCheckedChangeListener(this);
python = (CheckBox) findViewById(R.id.pythonCheckBox);
python.setOnCheckedChangeListener(this);
php = (CheckBox) findViewById(R.id.phpCheckBox);
php.setOnCheckedChangeListener(this);
unity3D = (CheckBox) findViewById(R.id.unityCheckBox);
unity3D.setOnCheckedChangeListener(this);
submitButton = (Button) findViewById(R.id.submitButton);
submitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.e("ArrayList Values*******",mList.toString());
}
});
}
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
switch (compoundButton.getId()) {
case R.id.androidCheckBox:
if (android.isChecked()) {
mList.add(String.valueOf(android.getText()));
Log.e("Android*******",mList.toString());
}
else {
mList.remove(android.getText());
}
break;
case R.id.javaCheckBox:
if (java.isChecked()) {
mList.add(String.valueOf(java.getText()));
Log.e("Java*******",mList.toString());
}
else {
mList.remove(java.getText());
}
break;
case R.id.phpCheckBox:
if (php.isChecked()) {
mList.add(String.valueOf(php.getText()));
Log.e("PHP*******",mList.toString());
}
else {
mList.remove(php.getText());
}
break;
case R.id.pythonCheckBox:
if (python.isChecked()){
mList.add(String.valueOf(python.getText()));
Log.e("Python*******",mList.toString());
}
else {
mList.remove(python.getText());
}
break;
case R.id.unityCheckBox:
if (unity3D.isChecked()){
mList.add(String.valueOf(unity3D.getText()));
Log.e("Unity*******",mList.toString());
}
else {
mList.remove(unity3D.getText());
}
break;
}
}
}