앱 만들기/안드로이드

안드로이드 버튼 이벤트를 구현하는 방법 4가지 - 2

나도 처음이야 2022. 6. 16.

 

https://soo0100.tistory.com/1865

 

안드로이드 버튼 이벤트를 구현하는 방법 4가지 - 1

안드로이드 버튼 이벤트를 구현하는 방법 4가지를 다루어 보겠습니다. 오늘은 그 중 첫 번째로 XML 을 활용한 방법입니다. 안드로이드 XML 에디터에서는 버튼 이벤트를 속성에서 지원합니다. 1. 버

soo0100.tistory.com

이번 시간에는 버튼 이벤트를 익명 클래스를 사용해서 만들어 봅니다.

XML로 버튼 하나만 있는 화면 구성을 마쳤다는 가정 아래.  MainActivity에서 하기처럼 구현을 하면 됩니다.

 

    Button button = findViewById(R.id.button10);
        button.setOnClickListener(new View.OnClickListener() {
            //인터페이스를 구현하는 클래스. 익명클래스.
            @Override
            public void onClick(View view) {
                Toast.makeText(getApplicationContext(),"익명 클래스로 구현",Toast.LENGTH_LONG).show();
            }
        });

안드로이드 이벤트 구현 시 익명 클래스가 주로 많이 사용됩니다.

특정 컴포넌트의 이벤트에만 사용할 때에는 별도의 인스턴스 변수를 생성할 필요가 없기에

즉, 해당 위치에서만 사용될때는 익명 클래스를 사용합니다.

 

익명 클래스의 코딩내용을 살펴보면,

new View.OnClickListener(){..

}의 의미는 해당 인페이스를 구현하는 클래스를 정의한다는 내용입니다.

이곳에 인터페이스가 아닌 클래스가 온다면 해당 클래스를 상속한다는 의미가 됩니다.

(익명 클래스는 자신이 속한 클래스 멤버에 자유롭게 접근할 수 있는 장점도 있답니다.)

 

즉, 우리는 클릭 리스너를 동작시키는 클래스를 구현하였고,

해당 View 컴포넌트에 이벤트가 발생 시 콜백 함수의 작동에 의해서 해당 클래스의 onClick() 오버 라이딩 함수가 호출되는 것입니다.

다음 시간은 버튼 이벤트 구현 방법 3번째인 별도의 이벤트 클래스를 정의하는 방법을 알아보도록 하겠습니다.

감사합니다.

반응형

댓글