There is a class for interacting with fragments:
class FragmentControl{ private AppCompatActivity activity; FragmentControl(AppCompatActivity activity) { this.activity = activity; } private FragmentTransaction getFragmentTransaction(){ FragmentManager fragmentManager = activity.getSupportFragmentManager(); return fragmentManager.beginTransaction(); } void addFragment(Fragment fragment){ getFragmentTransaction().add(R.id.fragment_container, fragment).commit(); } void removeFragment(Fragment fragment){ getFragmentTransaction().remove(fragment).commit(); } void replaceFragment(Fragment fragment){ getFragmentTransaction().replace(R.id.fragment_container, fragment).addToBackStack(null).commit(); }} How to change the given code that did not swear on a method:
private FragmentTransaction getFragmentTransaction(){ FragmentManager fragmentManager = activity.getSupportFragmentManager(); return fragmentManager.beginTransaction(); } namely beginTransaction()
Writes that
This transaction should be completed with a commit () call less ... (Ctrl + 1)
Or in Russian:
This transaction must be completed with the commit () call less ... (Ctrl + 1). After creating the FragmentTransaction, you must also execute it.