【发布时间】:2020-12-24 22:02:09
【问题描述】:
单击按钮时,我试图标记复选框组。这些复选框是我动态添加的。
这里有一些复选框(在这个例子中只有 4 个复选框,但可以有更多):
Checkbox checkboxes1;
Checkbox checkboxes2;
Checkbox checkboxes3;
Checkbox checkboxes4;
checkboxes1.setId(1);
checkboxes2.setId(2);
checkboxes3.setId(3);
checkboxes4.setId(4);
问题是当我尝试手动检查所有这些时。我有这个代码:
public void onCheckboxAllChecked(View view){
Checkbox addAll;
for(int i = 0; i < 4; i++){
addAll = findViewById(i);
addAll.setChecked(true);
}
}
但是当我尝试按下按钮以选中所有复选框时,应用程序会停止并突然关闭。
我把它放在一个 for 循环中,因为可以有更多的复选框(将由用户定义将动态添加多少个复选框)。
那么,如何解决这个问题呢?我做错了什么?
注意:问题不在于创建复选框,因为它们已经创建好,当我单独检查每个复选框时,它工作正常。问题是通过单击一个按钮同时检查所有这些。
【问题讨论】:
-
展示你如何创建这些盒子。如果您的应用程序崩溃,您没有捕获到异常。查看 logcat 以找出答案。
-
findViewById(i) 应该使用不同的整数。不是我。
标签: java android android-studio kotlin checkbox