即時通訊做一個應用程序,看看是否檢查了一個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) –