即时通讯做一个应用程序,看看是否检查了一个checkedBox, 但我有21复选框,我需要获取所有复选框的ID作出操作。有没有办法得到10个或更多的ID在Android Studio没有手动?
有没有办法让所有的id到一个数组而不需要手动执行? 我的意思是没有做演员21次。〜 是这样的。
CheckBox MineBox =(CheckBox)findViewById(R.id。“”); 我不想这样做。 plis帮我
即时通讯做一个应用程序,看看是否检查了一个checkedBox, 但我有21复选框,我需要获取所有复选框的ID作出操作。有没有办法得到10个或更多的ID在Android Studio没有手动?
有没有办法让所有的id到一个数组而不需要手动执行? 我的意思是没有做演员21次。〜 是这样的。
CheckBox MineBox =(CheckBox)findViewById(R.id。“”); 我不想这样做。 plis帮我
也许你可以把你的复选框包装在一个RecyclerView?
Elsewise ..这里是代码,但它确实很难看,并且要注意xml中复选框的命名约定。 (这里:机器人:ID = “@ + ID/checkBox0”
CheckBox[] checkBoxList = new CheckBox[20];
for (int i = 0; i < 20, i++){
String checkBoxID = "checkBox" + i;
int resID = getResources().getIdentifier(checkBoxID, "id", "com.your.projectname");
checkBoxList[i] = findViewById(resID);
}
没有工作,我得到了最后一行的错误 –
CheckBoxList [i] = findViewByid(resID);我在这里得到了一个错误 –
确保你在你的xml中正确地命名你的复选框 - 尤其是检查s商场/大写字母。 如果您在特殊视图内调用此函数,则需要在其上调用findViewById。你是否正确更改了包名? – yennsarah
使用此:
for(int i=0; i<xvalue; i++) {
for(int j=0; j<yvalue; j++) {
String checkID = "chk" + i + "-" + j;
int id = getResources().getIdentifier(checkID, "id", "com.xx.xx");
checks[i][j] = ((Button) findViewById(id));
checks[i][j].setOnClickListener(this);
}
}
看一看黄油刀:http://jakewharton.github.io/butterknife/ –
可能的重复[Android:使用findViewById()与字符串/在一个循环中](http://stackoverflow.com/questions/4865244/android-using-findviewbyid-with-a-string-in-a-loop) –