일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 다크나이트
- 휴대용무선충전기
- 방울토마토 유기농
- 2in1무선충전기
- 스투키
- 겨울나기
- Android
- 메이플스토리M
- 집에서 방울토마토 키우기
- 다이소 방울토마토키트
- 방울토마토 씨부터 키우기
- 방토 농사
- 메이플
- 핫엔드
- 방울토마토키우기
- 보일러절약
- 안드로이드
- 괌맛집
- 안방농사
- 집 방울토마토
- 메이플스토리
- 괌
- Ender 3 V3 KE
- 괌 신혼여행
- 신혼여행
- 어플만들기
- 에어팟충전기
- 다이소 방울토마토
- 쿠폰나눔
- 맥세이프충전기
Archives
- Today
- Total
괴도군의 블로그
Interface/listener/callback 사용이유, 사용법, 구조 본문
반응형
인터페이스는 정의 , 구현, 실행 하는 부분이 모두 다를 수 있다.
실행시점과 구현시점을 다르게 하고싶을때 사용한다.
View.Onclicklistener() 의 경우
클릭시 이벤트가 발생하여 인터페이스 내부에 정의한 onclick이라는 메소드를 실행시킨다.
파라메터로는 해당 View값을 전달해준다.
뷰는 위젯들을 말한다. 바탕에 깔리는 큰 구조는 뷰그룹(레이아웃)이다.
View.getId()로 클릭된 뷰(위젯, 항목, 버튼등이 될수있음)를 체크하여
switch(View.getId())로 사용하는게 가장 편하다. (위젯의 개수가 많을 수 있기 때문이다.)
구조는 이렇다.
Interface 인터페이스명 {
void On메소드명(전달할 파라메터1, 2,,등); //오버라이드메소드는 On을 붙인다. 암묵적인규칙..
}
public인 인터페이스 연결메소드가 필요하고
구현하고 싶은곳에 구현을 하고.. 구현부를 연결해줘야한다.
근데 사용하는 클래스와 연결해줘야한다.. 왜냐하면.. 자바에선 특히나 객체 (new의 개념으로 .. 같은 클래스나 인터페이스등등 이지만 static이나 sington패턴(getinsternce())이 아닌이상 생성할때마다 같은 모양이지만 전혀 다른 주소값을 가지고있다.
그래서 연결을 할때 새롭게 new연산자로 객체를 만들어준다면 아예 다른곳과 연결을 하는 셈이다.
제대로 하지않았다면 널포인트 익셉션이 기다리고 있을것이다.
연결이 끝났다면 리스너(인터페이스와 연결된 객체)를 가지고사용하고 싶은 시점, 위치 등에 붙여넣으면 된다.
반응형
'#프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA] Zip code 압축코드 풀소스입니다. 자바로 압축하기 (2) | 2017.07.21 |
---|---|
[JAVA]unmodifiableList metaprograming add values (메타프로그래밍으로 값 추가하기) (0) | 2015.08.20 |
[java][android] 일출일몰시간계산 (2) | 2015.08.19 |
Comments