Вы можете определить один OnClickListener, чтобы не тратить впустую память, создавая и связывая различные экземпляры одного и того же объекта.
Затем, как это предлагается в комментариях, вы должны установить его для for, например так:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_open_tabs);
setSupportActionBar((Toolbar)findViewById(R.id.toolbar));
buttons = findViewById(R.id.scroll_linear);
in = new Intent();
settings = new Intent();
list = new ArrayList<Button>();
newTab = findViewById(R.id.newtab);
ctx = this;
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case 1:
// do something
break;
case 2:
// do something
break;
default:
// do something
break;
}
}
};
for (Button b : list) {
b.setOnClickListener(listener);
}
}