我有动态创建的复选框,我想按一个按钮检查它们。我提到的按钮位于工具栏中,这是它的代码:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.action_checkall:
return true;
然后我在表格布局中有一个表格行,这是我创建checbox的表格行的代码
final TableRow row = new TableRow(getApplicationContext());
row.setLayoutParams(new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT,
TableLayout.LayoutParams.WRAP_CONTENT));
String[] colText={numerochip};
String[] colText2={marcaexploracao,marcaauricular,datanascimento};
for(final String text:colText) {
final CheckBox ch = new CheckBox(this);
ch.setTextColor(Color.parseColor("#808080"));
ch.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT,
TableRow.LayoutParams.WRAP_CONTENT));
ch.setGravity(Gravity.CENTER);
ch.setTextSize(16);
ch.setPadding(5, 5, 5, 5);
ch.setText(text);
row.addView(ch);
所以我想知道,如何通过点击按钮检查所有的cheboxes。感谢
答案 0 :(得分:4)
List<View> allVIEWS=new ArrayList<>();
现在每当您创建新的复选框时,只需将其添加到列表中:
CheckBox ch = new CheckBox(this);
......
.......
allVIEWS.add(ch);
现在立即检查所有内容:
for (int i=0;i<allVIEWS.size();i++){
if (allVIEWS.get(i) instanceof CheckBox){
CheckBox chk = (CheckBox) allVIEWS.get(i);
chk.setChecked(true);
}
}
答案 1 :(得分:3)
1)创建一个复选框列表。 (List<CheckBox> checkBoxList
)
2)在for循环中,创建复选框后,将这些复选框添加到checkBoxList。 (checkBoxList.add(ch)
)
3)单击该按钮时,请使用以下代码。
for(CheckBox checkBox : checkBoxList){
checkBox.setChecked(true);
}