안드로이드 안한지 10년도 넘었다. 개념 정리부터 .... 스위프트 클로저와 비슷한거 같은데 뭔가 약간 다르다... ㅡ.,ㅡ;
ClassA Interface 예제 클래스
interface CustomCallback {
public void onCall(String s);
public void onCall2(String s);
}
public class ClassA {
private final WeakReference<CustomCallback> mCallback;
public ClassA(CustomCallback callback) {
this.mCallback = new WeakReference<CustomCallback>(callback);
callMe();
}
public void callMe() {
System.out.println("ClassA Call");
if (mCallback != null) {
String data = "orignal data";
this.mCallback.get().onCall2(data);
}
}
}
MainAcitivity 연결
public class MainActivity extends AppCompatActivity {
ClassB classb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ClassA a = new ClassA(new CustomCallback() {
@Override
public void onCall(String s) {
Log.d("onCall", s + " 처리가 되었습니다.");
}
@Override
public void onCall2(String s) {
Log.d("onCall2", s + " 처리가 되었습니다.");
}
});
}
}
'Android(Java)' 카테고리의 다른 글
[Java] 암시적 Intent 공유하기 (1) | 2024.01.11 |
---|---|
[Java] 암시적 Intent 기본 사용방법 (0) | 2024.01.11 |
[Java] 사용자 Activity 활성화 명시적 Intent 사용 방법 (1) | 2024.01.11 |
[Java] abstract Callback (추상클래스 콜백) (1) | 2024.01.05 |
[Java] Delegate 패턴 사용법 (2) | 2024.01.05 |