Forgive me if this has been asked before. I have poured through this site and many others and can’t seem to find an answer. I have a working Android app but I’m trying to clean the code up. I have 3 buttons:
public Button button1, button2, button3;
Then, I have a method that “grabs” the clicks:
public void getButtonClick(View view)
{
switch(view.getId())
{
case R.id.button1:
// Do something button1 related here
break;
case R.id.button2:
// Do something button2 related here
break;
case R.id.button3:
// Do something button3 related here
}
}
What I’d like to know is if there is any way I can have a generic method that will just wait for a button click and grab that variable so that I can avoid the multiple switch-case statements. Something on the line of:
public void oneMethodForAll(View view)
{
clkdBtn = view.getButtonThatWasClicked();
// Do stuff
}
Any help is greatly appreciated. TIA
One thing you can do is to have the activity implement
View.OnClickListener:That will save you a little bit of typing since you’re not creating a bunch of anonymous click handlers, but you will still have to set the
onClickListenerof each button individually.