在我的 xml 布局文件中,我有 81 个按钮,如下所示:
<Button
android:id="@+id/button11"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
我知道我可以得到这样的引用:
playButtons[0][0] = (Button) findViewById(R.id.button11);
playButtons[0][1] = (Button) findViewById(R.id.button12);
等等,但是如何才能高效地完成呢?
编辑:
我想在 for 循环中使用对 XML 按钮的引用来填充我的 playButtons 矩阵,如下所示:
for(int i = 0; i<9; i++){
for(int k = 0; k<9; k++){
playButtons[i][k] = (Button) findViewById(R.id.button11);}}
但我不知道如何将button11更改为button12等等。
最佳答案
我想这就是你想要的。您必须将按钮命名为button01、button02、button03等。
Button[][] playButtons = null;
Class id=R.id.class;
Field field = null;
for(int i = 0; i<9; i++){
for(int k = 0; k<9; k++){
try {
field = id.getField("button"+i+""+k);
playButtons[i][k] = (Button) findViewById(field.getInt(null));
} catch (NoSuchFieldException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}
关于java - 如何获取 Android 中大量按钮的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24661240/