1

场景: 我的 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 函数。通过标识符检索资源比通过名称检索资源更有效 -开发人员参考。参考文件停在那里。

再次感谢!

4

0 回答 0