考虑一个名为Fragment
的{{1}}类,其中已MyFragmentClass
已实施。
我想做的是为newInstance(args)
延伸的任何东西做一个吸气剂,这样我就可以通过MyFragmentClass
创建一个新片段。类似的东西:
newInstance(args)
然后
<T extends MyFragmentClass> Class<T> getMyFragmentClass() {
return SomeClassExtendingMyFragmentClass.class;
}
但是我遇到了一些困难,因为我无法真正传递public void makeNewFragment() {
MyFragmentClass fragment = getMyFragmentClass().somehowCallNewInstance(args);
}
,因为这会失败使用new MyFragmentClass()
的目的,我不能提前致电newInstance(args)
我想要的args是在类中调用newInstance(args)
调用。
我尝试传回get()
,但我只能在其上调用.class
(没有args)。
有解决方法吗?
答案 0 :(得分:1)
据我所知,您需要使用fabric方法从派生类创建实例。定义'abstract'方法并在派生类中覆盖它。 对于Activity和fragment之间的通信,请考虑将EventBus与粘性事件一起使用。