Как я могу обнаружить изменение фрагмента для контейнера?
Я использую нижнюю навигационную панель в моем приложении и у меня есть несколько фрагментов, через которые пользователь переключается, и все они отображаются в одном контейнере.я хочу обнаружить изменение во фрагменте, чтобы я мог изменять различные свойства панелей инструментов для каждого фрагмента и контролировать, видна ли нижняя навигация.
это код, который я собирался использовать, и просто вызывал методпри переходе, но в настоящее время он не работает, так как я получаю исключение нулевой ссылки для bottomNavigation и suppoortActionBar.
public void ChangeInFragment(string fragment)
{
bool IsMain = true;
switch (fragment)
{
case "homefrg" :
IsMain = true;
break;
case "favfrg" :
IsMain = true;
break;
case "morefrg":
IsMain = true;
break;
case "splitfrg":
IsMain = false;
break;
case "wattfrg":
IsMain = false;
break;
case "weightfrg":
IsMain = false;
break;
}
if(IsMain == true)
{
bottomNavigation.Visibility = ViewStates.Visible;
SupportActionBar.SetDisplayHomeAsUpEnabled(false);
SupportActionBar.SetDisplayShowHomeEnabled(false);
}
else
{
bottomNavigation.Visibility = ViewStates.Invisible;
SupportActionBar.SetDisplayHomeAsUpEnabled(true);
SupportActionBar.SetDisplayShowHomeEnabled(true);
}
}
это, вероятно, не лучший способ сделать это, но если нет способа обнаружитьизменение фрагмента может кто-нибудь объяснить, почему нижняя навигационная панель и панель инструментов возвращают ноль?
Спасибо