Если у вас уже есть доступ к фрагменту, и вы хотите создать экземпляр, используя общедоступное значение по умолчанию no arg constructor
, вы можете просто позвонить:
Constructor constructor= BillingFragment.class.getConstructor();
BillingFragment fragment = (BillingFragment)constructor.newInstance();
или даже лучше использовать публичный статический newInstance
метод:
Method method = BillingFragment.class.getMethod("newInstance", Class<?>... parameterTypes);
BillingFragment fragment = (BillingFragment) method.invoke(null, Object... args);
PS: вы должны воздержаться от использования жестко закодированных строк, таких как "example.package.BillingFragment"
или "newInstance"
, так как эти строки стали недействительными, если приложение получило обфусцировано, В противном случае не забудьте сохранить имена классов и методов в proguard-rules
, если вам действительно нужно.