Android更改方法的值以检查按钮ID

时间:2015-12-31 13:03:20

标签: java android regex reflection

我正在尝试制作一个迭代一组按钮的方法,然后计算它们是否符合正确的条件。 这样做我想知道是否可以使用正则表达式基于计数器的值增加R.id.gridButton方法的方法的值,或者如果不可能,那么反射将是正确的方法关于它。

实施例: i == 1 R.id.gridButton1

i == 2 R.id.gridButton2

public int getBoardSize() {
        int buttonCount = 0;
        TableLayout tableLayout = (TableLayout) findViewById(R.id.tableLayout);
        System.out.println("Table child count: " + tableLayout.getChildCount());

        for (int rowIndex = 0; rowIndex < tableLayout.getChildCount(); rowIndex++) {
            View tableLayoutChild = tableLayout.getChildAt(rowIndex);
            if (tableLayoutChild instanceof TableRow) {
                for (int i = 0; i < ((ViewGroup) tableLayoutChild).getChildCount(); i++) {
                    System.out.println("Value of i: " + i);
                    View view = ((ViewGroup) tableLayoutChild).getChildAt(i);
                    if (view instanceof Button && view.getId() == R.id.gridButton1 ) {
                        buttonCount++;
                    }
                }
            }
        }
        System.out.println("Child count: " + buttonCount);
        return buttonCount;
    }

1 个答案:

答案 0 :(得分:0)

你的意思是

switch(view.getId())
{
    case R.id.gridButton1:
        //do whatever you need to
        break;
    case R.id.gridButton2:
        //...
       break;

    default:
       break;
}

这似乎是你所追求的最简单,最优雅的方法。