Programming/Android

버튼 이벤트 연결하기

통통만두 2014. 6. 26. 13:48
반응형

- 안드로이드 3.0이상에서부터 XML안에서 android:onClick 속성을 설정할 수 있다.

- 아래의 내용은 onClick 이벤트에만 적용이 된다.


우선 xml에서 아래와 같이 정의한다.

<Button

        android:id="@+id/btn_test01"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:layout_alignLeft="@+id/textView1"

        android:layout_below="@+id/textView1"

        android:layout_marginTop="16dp"

        android:onClick="onButtonClick"

        android:text="@string/MARSLAND" />



그런 후에 해당하는 Activity.java에 아래의 함수를 추가한다.

public void onButtonClick(View v) {

     switch(v.getId()) {

     case R.id.btn_test01 :

     Toast.makeText(getApplicationContext(), "역시 통통만두는 천재인가봐", 2).show();

     break;

    

     case R.id.btn_test02 :

     Toast.makeText(getApplicationContext(), "형님 제발 이클립스좀 까세요", 2).show();

     break;

     }

    }


안드로이드는 Delphi나 C#과 같은 것과는 달리 이벤트 연결을 수동으로 해줘야 한다. 기존에 디자인폼에서 해당하는 객체를 더블클릭하거나 이벤트 리스트에서 원하는 이벤트를 더블클릭하면 자동으로 연결과 선언까지 해주는 것과는 달라서 상당히 불편하다고 생각된다. 


어쨌거나 새로이 배우고 있는 입장에서 버튼 이벤트 연결에 대해서 여러가지 알아보다보니 위의 경우가 제일 편한 것 같아보인다. 프로그램이라는 것이 정답은 없다. 모로가도 서울로만 가도 된다고 하지 않았던가! 사용자의 입장에서는 내부 코드를 확인할 수 없으니 Input이 있을 때마다 제대로 된 Output만 나오면 된다. 어디까지나 나의 생각이다.


위의 경우는 Button의 onClick 이벤트에 대해서만 기술하였지만 응용하면 모든(?) 객체에 대해서 사용이 가능하겠다.



반응형