Android Button setOnClickListener Design
Solution 1:
If you're targeting 1.6 or later, you can use the android:onClick xml attribute to remove some of the repetitive code. See this blog post by Romain Guy.
<Button
android:height="wrap_content"
android:width="wrap_content"
android:onClick="myClickHandler" />
And in the Java class, use these below lines of code:
class MyActivity extends Activity {
public void myClickHandler(View target) {
// Do stuff
}
}
Solution 2:
Implement OnClickListener() on your Activity...
public class MyActivity extends Activity implements View.OnClickListener {
}
For each button use...
buttonX.setOnClickListener(this);
In your Activity onClick() method test for which button it is...
@Override
public void onClick(View view) {
if (View.equals(buttonX))
// Do something
}
Also in onClick you could use view.getId() to get the resource ID and then use that in a switch/case block to identify each button and perform the relevant action.