2016-10-30 2 views
0

FragmentMyFragmentClass이라는 확장 클래스를 구현하고 newInstance(args)을 구현한다고 가정합니다.클래스 전달 및 메서드 호출

내가 원하는 것은 MyFragmentClass을 확장하는 모든 것에 게터를 만드는 것이므로 newInstance(args)을 통해 새로운 조각을 만들 수 있습니다. 뭔가 같은 : 다음

<T extends MyFragmentClass> Class<T> getMyFragmentClass() { 
    return SomeClassExtendingMyFragmentClass.class; 
} 

public void makeNewFragment() { 
    MyFragmentClass fragment = getMyFragmentClass().somehowCallNewInstance(args); 
} 

그러나 나는이 newInstance(args)를 사용하는 목적을 패배로 정말 그것을 new MyFragmentClass()을 통과 할 수없고, 내가 할 수 없기 때문에, 어떤 어려움을 겪고 있어요 내가 원하는 args가 get() 호출을 호출하는 클래스에 있으면 일찍 newInstance(args)을 호출하십시오.

나는 .class을 되 돌리려고했지만, 그저 (args가 아님) newInstance() 만 호출 할 수있었습니다.

해결 방법이 있습니까?

답변

1

내가 알기로는 파생 클래스에서 인스턴스를 생성하기 위해 fabric 메소드가 필요합니다. 'abstract'메서드를 정의하고 파생 클래스에서 재정의합니다. 액티비티와 프래그먼트 사이의 통신은 끈적 거리는 이벤트와 함께 EventBus를 사용하는 것을 고려하십시오.

+0

내 문제는 클래스 간의 통신이 아니라 오히려 하위에서 올바른 클래스를 가져 와서 부모의 newInstance (args)를 호출하는 것입니다. – user7085962

관련 문제