Jag har använt som föreslaget ovan. Tog ut lite snabb exempelkod för att illustrera principen för andra.
Kod:
public ImageButton imageButton1;
public ImageButton imageButton2;
public ImageButton imageButton3;
public ImageButton imageButton4;
public ImageButton imageButton5;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.bla);
MyOnClickListener myOnClickListener = new MyOnClickListener();
imageButton1 = (ImageButton) findViewById(R.id.imageButton1);
imageButton2 = (ImageButton) findViewById(R.id.imageButton2);
imageButton3 = (ImageButton) findViewById(R.id.imageButton3);
imageButton4 = (ImageButton) findViewById(R.id.imageButton4);
imageButton5 = (ImageButton) findViewById(R.id.imageButton5);
imageButton1.setOnClickListener(myOnClickListener);
imageButton2.setOnClickListener(myOnClickListener);
imageButton3.setOnClickListener(myOnClickListener);
imageButton4.setOnClickListener(myOnClickListener);
imageButton5.setOnClickListener(myOnClickListener);
}
private final class MyOnClickListener implements OnClickListener {
@Override
public void onClick(View view) {
switch (view.getId()) {
case (R.id.imageButton1): {
doSomething(1);
break;
}
case (R.id.imageButton2): {
doSomething(2);
break;
}
case (R.id.imageButton3): {
doSomething(3);
break;
}
case (R.id.imageButton4): {
doSomething(4);
break;
}
case (R.id.imageButton5): {
doSomething(5);
break;
}
}
}
}