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:
// ...
}
}