[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
댓글을 사용할 수 없습니다.