상세 컨텐츠

본문 제목

[Android] 뷰 이벤트

Android 개발

by mobile 2013. 3. 10. 02:53

본문

반응형

- 뷰 이벤트

이벤트에서 사용하는 용어를 살펴보면 화면상의 버튼이나 물리적인 스위치 등을 누르는 행위를 트리거(Trigger)라 한다. 그리고 트리거에 의해서 발생되는 전기적인 신호(사건 또는 현상)를 이벤트라고 한다. 이벤트가 발생하자마자 리스너가 감지하고 리스너는 다시 정해진 콜백 메서드를 호출하는 방식으로 동작하게 된다.


- View 클래스와 연관되어 있는 리스너와 콜백 메서드 그리고 트리거

 리스너

콜백 메서드 

트리거 

OnClickListener

onClick() 

화면 버튼을 짧게 클릭 

OnCreateContextMenuListener 

onCreateContextMenu() 

켄텍스트메뉴를 길게 누름 

OnDragListener 

onDrag() 

특정 뷰를 보기위해 뷰를 잡아끔 

OnFocusChanged 

onFocusChanged() 

설정한 뷰로부터 포커스 이동 

OnKeyListener 

onKey() 

포커스된 화면뷰에 대해 물리적인 키를 누름

OnLayoutChangeListener 

onLayoutChange() 

레이아웃의 변화로 뷰에 영향을 받음 

OnLongClickListener 

onLongClick() 

화면 버튼을 길게 누름(2초) 

OnSystemUiVisibilityChangeListener 

onSystemUiVisibilityChange() 

상태바가 보여졌을때 

OnTouchListener 

onTouch() 

화면을 터치에 대한 이벤트 


안드로이드는 "뷰에서 일어날 수 있는 모든 가능성을 고려하여 이벤트의 리스너(인터페이스)와 콜백 메서드를 제공하고 있다.


import android.app.Activity;

import android.os.Bundle;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;


public class MainActivity extends Activity {

EditText editText;

TextView textView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

editText = (EditText) findViewById(R.id.entry);

textView = (TextView) findViewById(R.id.label);

Button ok = (Button)findViewById(R.id.ok);

Button cancel = (Button)findViewById(R.id.cancel);

//Register the onClickListener

ok.setOnClickListener(displayListener);

cancel.setOnClickListener(clearListener);

}

private final OnClickListener displayListener = new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

textView.setText(editText.getText());

}

};

private final OnClickListener clearListener = new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

textView.setText("");

}

};


@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

}



반응형

'Android 개발' 카테고리의 다른 글

[Android] SeekBar event  (0) 2013.03.24
[android]라디오 그룹 이벤트  (0) 2013.03.10
[android]뷰의 화면 출력 과정  (0) 2013.03.09
[Android]자바 프로그램으로 화면 구성  (1) 2013.02.26
[android]스타일과 테마  (0) 2013.02.24

관련글 더보기

댓글 영역