如何在Android Studio中迭代一组按钮?

如何在Android Studio中迭代一组按钮?,android,android-studio,Android,Android Studio,我正在尝试制作我的第一个有15个按钮的应用程序。当你按下一个按钮时,颜色在两个数字之间变化。然后,如果你按下另一个“提交”按钮,按钮将不再改变颜色 我现在的问题是,我怎样才能遍历屏幕上的按钮?我相信我需要为按钮分配一个“名称”、“类型”或类似的名称,然后找到所有发生这种情况的实例,但我找不到相关的getter/setter方法。 以下是我目前的代码: public void clickHandler(View view) { Button btn = (Button) view;

我正在尝试制作我的第一个有15个按钮的应用程序。当你按下一个按钮时,颜色在两个数字之间变化。然后,如果你按下另一个“提交”按钮,按钮将不再改变颜色

我现在的问题是,我怎样才能遍历屏幕上的按钮?我相信我需要为按钮分配一个“名称”、“类型”或类似的名称,然后找到所有发生这种情况的实例,但我找不到相关的getter/setter方法。 以下是我目前的代码:

public void clickHandler(View view) {

    Button btn = (Button) view;
    int id = btn.getId();
    boolean clicked = isChosen(btn);
    if( clicked == true && id != 1) {
        btn.setBackgroundColor(-3355444);
    }
    else{
        btn.setBackgroundColor(-16777216);
    }

}

public boolean isChosen(Button btn){
    ColorDrawable buttonColor = (ColorDrawable) btn.getBackground();
    int colorId = buttonColor.getColor();
    if(colorId == -16777216){
        return true;
    }
    else return false;
}

public boolean player = true;

public void changeTurn(View view) {
    TextView t = (TextView) findViewById(R.id.textView3);
    if(player == false) {
        t.setText("Player 2's turn");
        player = true;
    }
    else{
        t.setText("Player 1's turn");
        player = false;
    }

希望这段代码有帮助

最终int按钮计数=15

LinearLayout mLayout=(LinearLayout)findViewById(R.id.pager)

for(int i=0;i
所有按钮视图都存储在一个数组中吗?
    for (int i = 0; i < buttonCount; i++) {
        TextView textView = new TextView(this);
        textView.setTag(String.valueOf(i));
        textView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int buttonID = Integer.valueOf(view.getTag().toString());

                updateColorForButtonAtPosition(buttonCount);
            }
        });
        mLayout.addView(textView);
    }

    private void updateColorForButtonAtPosition (int buttonCount){
        // add your functionality here
    }