Я использую нижнюю панель навигации в моем приложении, у меня есть одно основное действие, которое использует контейнер для доступа к различным фрагментам, однако одна из моих вкладок требует действия, которое использует фрагменты внутри него, и я не уверен, как мне следует go о передаче этого, чтобы сохранить панель навигации, когда я ее потеряю? Должен ли я кодировать на панели навигации в рамках действия или переносить действие во фрагмент? Первоначально я пробовал это, но поскольку я использую панель поиска, которая покрывает отдельные фрагменты в другой деятельности, ее трудно перенести.
private BottomNavigationView.OnNavigationItemSelectedListener bottomNav = new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
Fragment selectedFragment = null;
bottomNavigationView.getMenu().findItem(menuItem.getItemId()).setChecked(true);
switch(menuItem.getItemId())
{
case R.id.map:
selectedFragment = new Map();
newSighting.show();
break;
case R.id.prof:
selectedFragment = new Prof();
break;
case R.id.dek:
selectedFragment = new Delete();
break;
case R.id.tab:
Intent k = new Intent(Home.this, Tab.class);
startActivity(k);
return true;
}
getSupportFragmentManager().beginTransaction().replace(R.id.fragmentContainer,
selectedFragment).commit();
return false;
}
};
Я прикрепил свой код для нижней навигации с основным действием.