1 답변
-
일종의 Callback 개념이네요. Java의 interface를 구현해서 사용하면 됩니다. 가장 쉬운 예제인 setOnClickListener의 구조를 보면 이해가 될 거에요.
다음은 ClassB에서 넘어온 String s는 이 곳에서 콜백으로 넘어온 데이터를 한 번 더 처리해주는 간단한 예제입니다.
// 콜백 인터페이스 public interface CustomCallback { public void onCall(String s); } // 콜백 선언을 한 클래스 public class ClassB { CustomCallback mCallback; public ClassB(CustomCallback callback) { this.mCallback = callback; } public void callMe() { System.out.println("ClassB Call"); if(mCallback !=null){ String data = "original data"; System.out.println(data); mCallback.onCall(data); } } } // 실제 실행 부분 ClassB b = new ClassB(new CustomCallback() { @Override public void onCall(String s) { // 여기에서 콜백으로 넘어온 데이터 핸들링을 하게 됩니다. interface에서는 String을 넘겨주니깐 이 친구가 넘어오겠지요. System.out.println(s + "처리가 되었습니당."); } }); b.callMe();
실행 하면
ClassB Call original data original data처리가 되었습니당.
이렇게 결과가 나오게 됩니다~
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력