Я создаю нижнюю навигационную активность в студии android, и она генерирует эти коды для меня
BottomNavigationView navView = findViewById(R.id.nav_view);
AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder(
R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications)
.build();
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);
NavigationUI.setupWithNavController(navView, navController);
И у меня есть метод changeAnimation()
в одном из моих фрагментов
public class MainFragment extends Fragment {
private MainViewModel dashboardViewModel;
private LottieAnimationView animationView;
private Button changeAnimationButton;
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
dashboardViewModel =
ViewModelProviders.of(this).get(MainViewModel.class);
View root = inflater.inflate(R.layout.fragment_main, container, false);
animationView = root.findViewById(R.id.MainFragmentAnimationView);
changeAnimationButton = root.findViewById(R.id.changeAnimationButton);
return root;
}
public void changeAnimation() {
animationView.setAnimation("emojitwo.json");
animationView.playAnimation();
}
}
Я хочу вызвать этот метод из своей деятельности. Как я могу это сделать?
Я попробовал это
ExampleFragment fragment = (ExampleFragment) getFragmentManager().findFragmentById(R.id.example_fragment);
fragment.<specific_function_name>();
Но его возвращаемое значение NULL, и я не могу вызвать метод для объекта фрагмента