Fragment
というMyFragmentClass
という拡張クラスが実装されており、これにはnewInstance(args)
が実装されているとします。クラスを渡してメソッドを呼び出す
私がしたいことは、newInstance(args)
で新しいフラグメントを作ることができるように、MyFragmentClass
を拡張するもののゲッタを作ることです。ような何か:
<T extends MyFragmentClass> Class<T> getMyFragmentClass() {
return SomeClassExtendingMyFragmentClass.class;
}
、その後
public void makeNewFragment() {
MyFragmentClass fragment = getMyFragmentClass().somehowCallNewInstance(args);
}
これはnewInstance(args)
を使用しての目的に反して、私はできないと私は本当にそれをnew MyFragmentClass()
を渡すことはできませんので、私は、いくつかの困難を持っていますが先にnewInstance(args)
を呼び出すのは、私が望むargsがget()
呼び出しを呼び出すクラスにある場合です。
私は.class
を返信しようとしましたが、それにはnewInstance()
(argsなし)しかコールできませんでした。
回避策はありますか?
私の問題は、クラス間の通信ではなく、正しいクラスを子から取得して親のnewInstance(args)を呼び出すことです。 – user7085962