В классе активити содержится метод:
.....
public void openListView(){
FragmentManager manager = getSupportFragmentManager();
androidx.fragment.app.FragmentTransaction transaction = manager.beginTransaction();
ListViewFragment listViewFragment = new ListViewFragment();
transaction.replace(R.id.fragmentFrameLayout, listViewFragment);
transaction.commit();
}
.....
При вызове этого метода из активити, всё ок, фрагмент появляется.
Также есть класс адаптера для recyclerview. В этом классе, при нажатии по элементу recyclerview должен вызываться вышесказанный метод. Вызов метода в адаптере:
ProductsActivity productsActivity = new ProductsActivity();
productsActivity.openListView();
При нажатии приложение крэшится, при дебаге определил, что вылет происходит при вызове transaction.commit()
Ошибка:
9913-9913/ru.retail.app E/AndroidRuntime: FATAL EXCEPTION: main
Process: ru.retail.app, PID: 9913
java.lang.IllegalStateException: Activity has been destroyed
at androidx.fragment.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:2114)
at androidx.fragment.app.BackStackRecord.commitInternal(BackStackRecord.java:683)
at androidx.fragment.app.BackStackRecord.commit(BackStackRecord.java:637)
at ru.retail.app.Activity.ProductsActivity.openListView(ProductsActivity.java:203)
at ru.retail.app.adapter.ProductsActivity_CategoriesRecyclerViewAdapter.openCategory(ProductsActivity_CategoriesRecyclerViewAdapter.java:121)
at ru.retail.app.adapter.ProductsActivity_CategoriesRecyclerViewAdapter$categoriesButtonListener.onClick(ProductsActivity_CategoriesRecyclerViewAdapter.java:198)
at android.view.View.performClick(View.java:5675)
at android.view.View$PerformClick.run(View.java:22641)
at android.os.Handler.handleCallback(Handler.java:836)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:203)
at android.app.ActivityThread.main(ActivityThread.java:6251)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924)