[Mobile/Android] 이벤트 처리
당연히 안드로이드 앱은 사용자의 화면 터치에 대한 이벤트를 처리할 수 있어야 한다.
손가락으로 화면을 터치하면 터치 이벤트(Touch Event), 버튼이나 키패드를 누르면 키 이벤트(Key Event)
여러 이벤트들이 있는데 당연히 터치(Touch Event)가 가장 많이 사용되고 가장 중요하다.
이벤트 등록을 위해선 다음과 같은 이벤트 리스너 인터페이스의 구현이 필요하다.
View.OnTouchListener : boolean onTouch(View v, MotionEvent event)
View.OnKeyListener : boolean onKey(View v, int keyCode, KeyEvent event)
View.OnClickListener : void onClick(View v)
View.OnFocusChangeListener : void onFocusChange(View v, boolean hasFocus)
버튼 이벤트 등록 예
public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.btn)
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// do something...
}
}
}
}
버튼 이벤트에 속하는 체크 박스 버튼 이벤트 등록 예
public class MainActivity extends AppCompatActivity {
CheckBox checkBox;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
checkBox = (CheckBox) findViewById(R.id.chk);
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
if (checkBox.isChecked() == true) {
// do something...
} else {
// do something...
}
}
}
}
}
키 이벤트 등록 예
public class MainActivity extends AppCompatActivity {
EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.edit1);
editText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_UP) { 손가락이 떼졌을 때
Toast.makeText(getApplicationContext(), "손가락이 떼짐", Toast.LENGTH_SHORT).show();
} else if (event.getAction() == KeyEvent.ACTION_MOVE) { // 손가락이 눌린 상태로 움직일 때
Toast.makeText(getApplicationContext(), "손가락이 눌려있는 상태", Toast.LENGTH_SHORT).show();
} else if (event.getAction() == KeyEvent.ACTION_DOWN) { // 손가락이 눌렸을 때
Toast.makeText(getApplicationContext(), "손가락이 눌림", Toast.LENGTH_SHORT).show();
}
}
}
}
}
'Mobile > Android' 카테고리의 다른 글
[Mobile/Android] 서비스( Service ) - 백그라운드 프로세스 (0) | 2019.11.18 |
---|---|
[Mobile/Android] Fragment를 이용한 화면 분할 (0) | 2019.11.04 |
[Mobile/Android] Toast - 간단한 메시지를 잠깐 보여주었다가 없어지는 View (0) | 2019.10.20 |
[Mobile/Android] 레이아웃(Layout) (0) | 2019.10.19 |
[Mobile/Android] 안드로이드 프로그래밍 입문 (0) | 2019.09.16 |
댓글
이 글 공유하기
다른 글
-
[Mobile/Android] 서비스( Service ) - 백그라운드 프로세스
[Mobile/Android] 서비스( Service ) - 백그라운드 프로세스
2019.11.18 -
[Mobile/Android] Fragment를 이용한 화면 분할
[Mobile/Android] Fragment를 이용한 화면 분할
2019.11.04 -
[Mobile/Android] Toast - 간단한 메시지를 잠깐 보여주었다가 없어지는 View
[Mobile/Android] Toast - 간단한 메시지를 잠깐 보여주었다가 없어지는 View
2019.10.20 -
[Mobile/Android] 레이아웃(Layout)
[Mobile/Android] 레이아웃(Layout)
2019.10.19