传递一个类并在其上调用方法

时间:2016-10-30 20:04:40

标签: java android class android-fragments instantiation

考虑一个名为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)。

有解决方法吗?

1 个答案:

答案 0 :(得分:1)

据我所知,您需要使用fabric方法从派生类创建实例。定义'abstract'方法并在派生类中覆盖它。 对于Activity和fragment之间的通信,请考虑将EventBus与粘性事件一起使用。