coolsharp의 놀이터

 

자바에서 콜백 처리를 하기 위해서는 인터페이스를 사용해야 한다.

 

인터페이스는 아래처럼 정의 할 수 있다.

   1: interface onTapCallback {
   2:     void onTap(GeoPoint p, MapView mapView);
   3: }

 

호출할 함수 원형을 인터페이스에서 정의 하였으면 인터페이스 변수를 선언해야 한다.

   1: private onTapCallback cbOnTap = null;

 

인터페이스 변수를 선언하였다면 인터페이스 변수를 외부에서 할당 할 수 있게 set 함수를 만들어 준다.

 

   1: public void setOnTapCallback(onTapCallback cb) {
   2:     cbOnTap = cb;
   3: }

 

실제 콜백을 호출해야 할 함수에서 다음과 같이 할당이 되었는지 확인 후 호출 한다.

 

   1: if (null != cbOnTap) cbOnTap.onTap(p, mapView);

 

간단한 콜백 사용 예제는 다음과 같다.

 

   1: onTapCallback cb = new onTapCallback() {
   2:     
   3:     @Override
   4:     public void onTap(GeoPoint p, MapView mapView) {
   5:         CenterLocation(p);
   6:     }
   7: };
   8:  
   9: il.setOnTapCallback(cb);
Posted by coolsharp_backup