所以我的应用程序中有一些复选框,我想根据是否选中该框将数组字符串更改为一组null和1。我目前有以下代码:

 public void SendSearch(View view) {
    String [] searchArray = new String[18];
    if (checkBoxCocktail.isChecked()){
        searchArray[8]="1";
    }
}


但是,当我调用该方法时,应用程序将重新启动。我很确定上面的代码是正确的,我认为我的问题可能出在此方法的前面,该方法在单击imageview时选中并取消选中这些框:

 public void CheckCocktail(View view) {
    checkBoxCocktail =(CheckBox) findViewById(R.id.checkBoxCocktail);
    if (checkBoxCocktail.isChecked()) {
        checkBoxCocktail.setChecked(false);
    } else {
        checkBoxCocktail.setChecked(true);
    }
}


我只是无法弄清楚为什么它不起作用,单击应用程序重新启动的按钮时没有logcat错误。不管复选框是否被选中都无关紧要。

最佳答案

确保searchArray在索引8上包含一个String值。
确保findViewById(R.id.checkBoxCoctail)返回一个CheckBox对象,而不是空值。
如果上述建议不能解决您的问题,请发布更多代码。

10-06 06:12