마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

interface 질문 드립니다.

0 추천
A activity에서 '12345'를 입력하고 확인버튼을 누르면 B activity에서 '12345'가 출력되었으면 좋겠습니다.

 

물론 설명을 간단히 하느라 당연히 intent를 쓰면되는 상황처럼 적었는데,

interface로 동작시켜야하는 상황입니다.

 

===== ===== ===== ===== =====

A activity에서 interface생성

EventListener mListener;

public interface EventListener { ... }

public void setListener(EventListener listener) { mListener = listener}

여기까지는 맞는거 같은데.... 이 다음에 interface적용 부분을 잘 모르겠습니다.

 

B activity에서 적용하는 부분...

A_activity a = new A_activity();

a.setListener(new EventListener() {

   @Override

   ... 기능 구현 ...

});

 

이런식으로 했더니 Attempt to invoke interface method... 오류가 뜹니다 ㅠㅠ

생성 후 연결하는 방법에 대해서 알려주시면 감사하겠습니다!!!
떡빵s (1,370 포인트) 님이 2019년 1월 23일 질문

2개의 답변

+1 추천
 
채택된 답변
이렇게 사용하시려면 Fragment 를 이용하셔야해여

Activity 는 구조적인 한계로 Activity 간 통신은 intent 와 startActivityForResult 로 하셔야합니당
안드로이드로우 (15,740 포인트) 님이 2019년 1월 25일 답변
떡빵s님이 2019년 1월 25일 채택됨
아... 이게 Activity의 한계군요.....ㄷㄷ
Fragment배울때 Activity의 한계 어쩌구 하길래 뭔가 했더니....ㅠ
일단 startActivityForResult로 진행하고 있었는데, 같은 답변 주셨네요
감사합니다 ㅎㅎ
0 추천

a.setListener(new A_activity.EventListener() {

혹시 이 부분이 빠져서 그럴까요?

디자이너정 (42,810 포인트) 님이 2019년 1월 23일 답변
아이고, 제가 interface를 클래스 따로 빼서 만들었다고 생각하고 안적었는데,
혹시나 안에 넣어서 말씀하신 방법으로 했는데도 마찬가지네용 ㅠ
...