Android
Butter Knife 라이브러리 - 클릭 이벤트
밤토리세상
2020. 9. 26. 17:57
Butter Knife 라이브러리로 클릭이벤트를 받는 것을 해보겠습니다
기존에 리스너를 만들고 setOnClickListener 에 연결을 했었는데
해당 라이브러리로는 한번에 연결을 할수있다
@OnClick({R.id.btn})
public void onBtn(View v) {
switch (v.getId()) {
case R.id.btn:
//이벤트 등록
break;
}
}
위처럼 @OnClick 으로 연결하는데 뒤에 UI의 id 를 써주면 해당 UI가 연결되어진다
만약 연결이 안되거나 오류가 발생한다면 Bind가 안되어있을 수 있다.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
ButterKnife.bind(this);
}
bind가 되어야 이벤트를 받을 수 있다.
그리고 여러개의 UI가 있다면 @OnClick({...}) 구문에 배열처럼 쭉 작성해주면 된다
@OnClick({R.id.btn1,R.id.btn2,R.id.btn3,R.id.btn4})
public void onBtn(View v) {
switch (v.getId()) {
case R.id.btn1:
//이벤트 등록
break;
case R.id.btn2:
//이벤트 등록
break;
case R.id.btn3:
//이벤트 등록
break;
case R.id.btn4:
//이벤트 등록
break;
}
}
위처럼 작성하면 여러개의 이벤트를 받을수 있다
또한 매소드 이름이 onBtn 인데 이것은 원하는 이름으로 작성을 하면 된다