如何使用字符串通过变量名获取按钮?

use*_*486 1 android android-layout

我的代码是这样的......

public class MainActivity extends Activity {
    String a = new String("1,2,3,4,5")

    private Button button1;
    private Button button2;
    private Button button3;
    private Button button4;
    private Button button5;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        startBtn = (Button) findViewById(R.id.startBtn);

        startBtn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View view) {
                String[] splited=a.split(",");
                for(String b : splited){
                    (button"b").setBackground(Color.RED); 
                   //This is the part where I get stucked//
                    //I know the code is wrong but I just want to express my idea//
                }
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

那么,如何使用更改字符串b命名按钮?

button1应首先更改其背景颜色,然后更改button2,button3等.

有任何想法吗?

Sur*_*tta 5

不,那不是道路.您不能为变量名称执行此操作(除非您使用reflection).而不是该字符串采取Button数组.

private Button[] buttons = {button1,button2.....};
Run Code Online (Sandbox Code Playgroud)

后来

for(Button b : buttons ){
    b.setBackground(Color.RED);     
}
Run Code Online (Sandbox Code Playgroud)