Butterknife определяет, какая кнопка нажата из нескольких нажатий

В настоящее время я впервые использую butterknife и я связываю несколько кнопок в один метод. Как я узнаю, какие button была нажата?

@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(){

    }

4 ответа

Проверьте используя SWITCH CASE внутри @OnClick({......}) как следование..

  @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;
         .....
         .....
      }
  }

Вы можете сделать что-то вроде этого:

    @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;
    }
}

Если вы хотите, чтобы группа кнопок выполняла одно задание, я предлагаю вам установить флажки или переключатели.

Ваша функция должна принимать View в качестве параметра и проверьте идентификаторы:

@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:
            // do something
        case R.id.LoadAmount20:
            // ...
    }
}
Другие вопросы по тегам