본 글은 [깡샘의 안드로이드 프로그래밍 - 루비페이퍼] 의 내용을 발췌한 것입니다.
좀더 자세한 내용은 책을 통해 확인해 주세요.
6장. 사용자 이벤트 처리
6.1.2. 다양한 이벤트 처리
이 책에서 지금까지는 클릭 이벤트를 이용하였지만, 안드로이드에서는 클릭 이벤트 이외에 다양한 이벤트를 제공하며 이벤트 소스인 뷰에 따라 다른 이벤트를 제공하기도 합니다.
다음의 표는 자주 사용하는 이벤트 몇 가지만 정리한 것이고, 이보다도 훨씬 더 많으며 앞으로 안드로이드 버전이 올라가면서 신규로 추가되는 뷰가 있다면 그 뷰에 맞는 이벤트가 더 추가될 수 있습니다
그런데 아무리 뷰가 많고 이벤트 종류가 많다고 하더라도 델리게이션 이벤트 모델만 이해하면, 이벤트를 처리하는 구조는 모두 같습니다.
이벤트 소스와 이벤트 핸들러를 setOnXXXListener ( ) 함수로 연결하고, 이벤트 핸들러는 OnXXXListener를 구현해서 작성합니다.
OnClickListener는 모든 뷰에 적용할 수 있는 이벤트입니다. 대표적인 뷰가 Button이며 Button 이외에 TextView, ImageView 등 모든 뷰에 등록할 수 있습니다.
btn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
}
});
OnLongClickListener 이벤트 역시 클릭 이벤트와 더불어 모든 뷰에 등록할 수 있습니다.
뷰를 오랫동안 눌렀을 때 발생하는 이벤트입니다 롱 클릭 이벤트를 뷰에 적용하려면 setOnLongClickListener ( )라는 메서드를 이용합니다.
btn.setOnLongClickListener(new View.OnLongClickListener(){
@Override
public boolean onLongClick(View v) {
return false;
}
});
OnCheckedChangeListener는 안드로이드 뷰의 이벤트 중 자주 이용되는 체크박스나 라디오버튼의 체크 상태를 변경할 때 발생하는 이벤트입니다.
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
}
});
'Android' 카테고리의 다른 글
[깡샘의 안드로이드 프로그래밍] 정리 10 - SQLiteDatabase (0) | 2018.01.05 |
---|---|
[깡샘의 안드로이드 프로그래밍] 정리 9 - DisplayMetrics (0) | 2018.01.05 |
[깡샘의 안드로이드 프로그래밍] 정리 7 - Vibration (0) | 2018.01.05 |
[깡샘의 안드로이드 프로그래밍] 정리 6 - Relative Layout (0) | 2018.01.05 |
[깡샘의 안드로이드 프로그래밍] 정리 5 - Step by Step 실습 : TextView 활용 (0) | 2018.01.05 |