user9890796
user9890796

Reputation:

Butterknife determine which button clicked from multiple onclick bind

Currently, it's my first time using butterknife and I'm binding multiple buttons into a single method. How will I know which button has been clicked?

@OnClick({R.id.LoadAmount10,R.id.LoadAmount20,R.id.LoadAmount30,R.id.LoadAmount5 
                0,R.id.LoadAmount100,R.id.LoadAmount300,R.id.LoadAmount500})
    public void setLoadAmount(){

    }

Upvotes: 1

Views: 1880

Answers (3)

Santanu Sur
Santanu Sur

Reputation: 11477

Check using SWITCH CASE inside @OnClick({......}) like following..

  @OnClick({R.id.LoadAmount10,R.id.LoadAmount20,R.id.LoadAmount30,R.id.LoadAmount50,R.id.LoadAmount100,R.id.LoadAmount300,R.id.LoadAmount500})
  public void setLoadAmount(View view){
      switch(view.getId()){
         case R.id.LoadAmount10:
             break;
         .....
         .....
      }
  }

Upvotes: 4

Akram Hussain
Akram Hussain

Reputation: 480

If you want a group of buttons to have one task to do then I'll suggest you to go with checkbox or radio buttons.

Upvotes: 0

Rade
Rade

Reputation: 320

You can do something like this:

    @OnClick({R.id.LoadAmount10, R.id.LoadAmount20})
public void onItemClicked(View view) {
    switch (view.getId()) {
        case R.id.LoadAmount10:
            // do something here
            break;
        case R.id.LoadAmount20:
            // do something here
            break;
    }
}

Upvotes: 2

Related Questions