java - 如何获取 Android 中大量按钮的引用?

标签 java android

在我的 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/

相关文章:

java - ASM 树 API : Using LDC to load a Class<? > 常量

java - Google Oauth2刷新 token 为空

java - 如何提取包含某个单词的每个句子

android - 在android中设置每年重复闹钟

java - 如何通过套接字 C++ 服务器/Java 客户端发送 int

java 递归插入排序

java - 从 Assets 文件夹中重新缩放图像以适合屏幕

android - findViewById 返回 View 数组

java - 如何获取 Android GPS 位置

java - 应用程序无法打开,LogCat 中不断出现以下错误