방법은 여러개 있습니다.
Activity 에 getter를 둬서 Fragment 에서 Activity의 getter 를 호출해 가져와도 되고, App global로 변수를 만드셔도 되고, 이벤트 리스너를 Activity에서 Fragment 생성 시 이벤트 리스너를 넣어 Fragment에서 이 리스너를 호출하여 값을 가져가도 되고,
말씀하신대로 아래 코드와 같이 싱글톤으로 구현해도 됩니다
//Instance
private static ExampleClass instance;
private String value;
//private construct
private ExampleClass() {value = null;}
public static ExampleClass getInstance() {
if (instance == null)
{ instance = new ExampleClass();}
return instance;
}
public void setString(String value) { this.value = value ;}
public String getString() { return value ;}
=> 예제코드는 ExampleClass 라는 싱글톤으로 activity에서
ExampleClass.getInstance().setString("원하는 값") 으로 설정하고,
fragment에서 ExampleClass.getInstance().getString() 를 호출한다는 가정으로 간략하게 만들었습니다
갯수가 만거나 여러곳에 이벤트를 전달해야 한다면 EventBus 쓰시는것도 방법입니다.
https://march3samwuli.tistory.com/entry/EventBus%EB%A1%9C-%EC%97%AC%EA%B8%B0%EC%A0%80%EA%B8%B0%EC%84%9C-%EC%89%BD%EA%B2%8C-%EC%BD%9C%EB%B0%B1-%EB%B0%9B%EA%B8%B0