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 인데 이것은 원하는 이름으로 작성을 하면 된다
'Android' 카테고리의 다른 글
[Android,Java] APP과 WEB 통신하기 (JavascriptInterface) (0) | 2023.06.15 |
---|---|
[Android] WebView 파일 다운로드 구현 (0) | 2022.07.21 |
[Android,Java] 리스트뷰 배경 테두리(Border) 및 라운드 넣기 (0) | 2022.06.13 |
[Android] 버튼, EditText, View 테두리(border) 배경 만들기 (0) | 2022.06.09 |
Butter Knife 라이브러리 (0) | 2020.09.24 |