Как запустить определенный фрагмент после действий в другой активности

В моем приложении есть главная активность MainActivity, в ней через нижнюю навигацию мы можем попасть на 3 разных фрагмента UserFragment, ToolsFragment, TimerFragment. UserFragment открывается по умолчанию первый при запуске приложения. При переходе, например, в фрагмент ToolsFragment и дальше из него в другие активности я возвращаюсь в главное меню MainActivity и всегда попадаю на фрагмента UserFragment, как мне открывать соответствующие фрагменты при возвращении на главное меню?

нижняя навигация

public class MainActivity extends AppCompatActivity {

private long backPressedTime;
private Toast backToast;

FancyShowCaseView  mFancyShowCaseView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    BottomNavigationView bottomNav = findViewById(R.id.bottom_navigation);
    bottomNav.setOnNavigationItemSelectedListener(navListener);

    Window w = getWindow();
    w.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

    //фрагмент userFragment появляется сразу при запуске приложения
    getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new UserFragment()).commit();

}

private BottomNavigationView.OnNavigationItemSelectedListener navListener =
        new BottomNavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                Fragment selectedFragment = null;

                 switch (item.getItemId()){
                        case R.id.action_time:
                            selectedFragment = new TimerFragment();
                            break;
                        case R.id.action_tools:
                            selectedFragment = new ToolsFragment();
                            break;
                        case R.id.action_user:
                            selectedFragment = new UserFragment();
                            break;
                    }
                    getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, selectedFragment).commit();
                    return true;
            }
        };

код возвращения к основной активности в которой эти фрагменты

@Override
public void onBackPressed() {
    try {
        Intent intent = new Intent(Level_Freestyle.this, MainActivity.class);
        startActivity(intent);
        finish();
    }catch (Exception e) {
    }
}

Ответы (0 шт):