https://soo0100.tistory.com/1865
이번 시간에는 버튼 이벤트를 익명 클래스를 사용해서 만들어 봅니다.
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번째인 별도의 이벤트 클래스를 정의하는 방법을 알아보도록 하겠습니다.
감사합니다.
반응형
'앱 만들기 > 안드로이드 study' 카테고리의 다른 글
XML 과 커스텀 뷰 같이 사용하기 (8) | 2022.06.21 |
---|---|
커스텀 뷰를 활용한 그리기 (10) | 2022.06.20 |
안드로이드 버튼 이벤트를 구현하는 방법 4가지 - 1 (4) | 2022.06.14 |
안드로이드 버튼 색상 바꾸기 (4) | 2022.06.12 |
데몬쓰레드 만들기 (6) | 2022.06.06 |
댓글