我发现自己一直在做这样的事情: Button button1 = (Button) findViewById(R.id.button1); Button button2 = (Button) findViewById(R.id.button2); Button button3 = (Button) findViewById(R.id.button3); button1.setOnClickListener(menuButtonListener); button2.setOnClickListener(menuButtonListener); button3.setOnClickListener(menuButtonListener); … 和 private OnClickListener myButtonListener = new OnClickListener() { @Override public void onClick(View v) { switch(v.getId()){ case R.id.button1 : … 有没有更好的方法来设置OnClickListener?
我正在制作一个Android应用程序,其中有一个由数百个button组成的视图,每个button都有一个特定的callback。 现在,我想使用循环来设置这些callback,而不必编写数百行代码(针对每个button)。 我的问题是:如何使用findViewById静态不必键入每个buttonID? 这是我想要做的: for(int i=0; i<some_value; i++) { for(int j=0; j<some_other_value; j++) { String buttonID = "btn" + i + "-" + j; buttons[i][j] = ((Button) findViewById(R.id.buttonID)); buttons[i][j].setOnClickListener(this); } } 提前致谢!