2016-08-08 3 views
-2
  • 난은 "안드로이드 프로젝트 라이브러리"에보기가 내 주요 활동 ("MainActivity")
  • 와 앱이있다. 이 뷰를 여러 Apps에서 사용하고 싶습니다.이 뷰를 라이브러리에 추가 한 이유입니다.
  • 내 앱

에서보기를 사용할 수 있습니다하지만 지금 문제는 온다.소프트웨어 설계 지침 (안드로이드 도서관 프로젝트)

내 Apps MainActivity와 의견을주고 받고 싶습니다. 내보기에

보기가 단순히 부를 것이다 라이브러리의 응용 프로그램 insteed에있을 것입니다 경우

...
(MainActivity)context.myfunction() 

....

그러나 라이브러리의 경우 내보기는 MainActivity에 대해 알지 못합니다. 프로젝트 범위를 벗어 났기 때문입니다.

라이브러리에있는 내보기의 활동과 어떻게 상호 작용할 수 있습니까? 어떤 힌트?

+0

이 질문에 잘못된 것이 있습니다. 왜 -2. 왜 당신이 downvoted 논쟁하시기 바랍니다. –

+0

태그 초과 태그가 있습니까? 이것은 실제로 "디자인 패턴"문제가 아닙니다. 더 많은 "어떻게이 특정 안드로이드 문제를 해결". – GhostCat

답변

0

좋은 해결책인지 확실하지 않지만 여기에 게시합니다. 아마도 다른 사람들을 도울 것입니다.

@Override 
    public void interact(String sCommand, List<Object> objects) { 
     // TODO Auto-generated method stub 
     if(sCommand.equals("mycommand")){ 
      do something ... 
     } 
    } 

가 그럼 난 단순히 내 라이브러리에 내보기 (에서 메소드를 호출

public interface InteractActivity { 
    public void interact(String sCommand, List<Object> objects); 
} 

내 활동에 인터페이스를 구현 :

나는 나의 도서관 프로젝트에 인터페이스를 생성 프로젝트) :

((InteractActivity) context).interact("mycommand",myparameters);