场景: 我的 Activity 包含一些 ID 为 btn1、btn2 等的按钮。我希望代码通过循环计数器访问这些按钮。那么,以下两种方法中哪一种更有效呢?谢谢!
getChildAt():
for (int optionCounter = 0; optionCounter < bigNumber; optionCounter++) {
optionButton = (Button) buttonRelativeLayout.getChildAt(optionCounter); //Layout contains Buttons
optionButton.setText("some text"); }
注意: buttonRelativeLayout 只是被人为地引入以通过子编号访问按钮。否则没有任何目的。
获取标识符():
for (int optionCounter = 0; optionCounter < bigNumber; optionCounter++) {
String buttonID = "btn" + optionCounter;
int resID = getResources().getIdentifier(buttonID, "id", "com.sample.project");
optionButton = ((Button) findViewById(resID));
optionButton.setText("some text"); }
注意:不鼓励使用 getIdentifier 函数。通过标识符检索资源比通过名称检索资源更有效 -开发人员参考。参考文件停在那里。
再次感谢!