Как запустить определенный фрагмент после действий в другой активности
В моем приложении есть главная активность 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) {
}
}
