Fragment 로 플레이어를 만들었습니다. A Fragment라고 해두죠.
근데 거기서 오디오 소스 처리를 따로 Class를 만들어서 해줬고
그 Class는 아무것도 상속받지 않았습니다. B Class라고 해두죠.
즉 오디오 소스처리 B Class 내에 MediaPlayer가 있습니다.
그래서 A Fragment에서 그걸 생성해서 B play(), stop() 메소드를 호출합니다.
근데 A Fragment의 재생 일시정지 아이콘을 B play(), stop() 소스코드 내에서
변경할려고 하는데 B Class는 아무것도 상속받지 않았으니
A Fragment의 상위 뷰를 참조할 수 없습니다.
그래서 제가 생각한 방법이 A Fragment에서 static으로
public static Fragment a = this;
이런식으로 저장해서
A에서 B를 사용할때 생성자에
B b = new B(a);
이런식으로 static 변수를 보내주고
B class에서 그걸 받아서 저장해서 A의 변수를 쓰고 메소드를 호출합니다.
질문
1. 근데 이런방식으로 하는게 맞는지, 크게 문제가 없는지.
2. 아니면 그냥 A, B를 합치는게 낫는지.
3. 아니면 다른 방법이 있는지
이 세가지가 궁금합니다.
어떤 답변도 감사드립니다.