Функции вызываются по несколько раз | Kotlin
У меня есть 3 метода:
initWeeklyView()
initRankingView()
initRankingMonthView()
Которые я вызываю в OnCreateView.
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
root = inflater.inflate(R.layout.browse_fragment, container, false)
WeeklyFeaturedGridView = root?.findViewById(R.id.weeklyFeaturedView)
RankingFeaturedRecyclerView = root?.findViewById(R.id.rankingFeaturedView)
RankingFeaturedMonthRecyclerView = root?.findViewById(R.id.rankingFeaturedMonthView)
initWeeklyView()
initRankingView()
initRankingMonthView()
return root
}
Странность в том, что, когда я замерял время инициализации, методы вызываются по несколько раз. Вот лог:
2020-10-17 18:42:58.688 I/Chronometer: initWeeklyView инициирован!
2020-10-17 18:42:59.728 I/Chronometer: initWeeklyView завершен!
2020-10-17 18:42:59.728 I/Chronometer: initRankingView инициирован!
2020-10-17 18:43:00.934 I/Chronometer: initRankingView завершен!
2020-10-17 18:43:00.934 I/Chronometer: initRankingMonthView инициирован!
2020-10-17 18:43:02.007 I/Chronometer: initRankingMonthView завершен!
2020-10-17 18:43:02.041 I/Chronometer: initWeeklyView инициирован!
2020-10-17 18:43:03.229 I/Chronometer: initWeeklyView завершен!
2020-10-17 18:43:03.229 I/Chronometer: initRankingView инициирован!
2020-10-17 18:43:04.440 I/Chronometer: initRankingView завершен!
2020-10-17 18:43:04.440 I/Chronometer: initRankingMonthView инициирован!
2020-10-17 18:43:05.346 I/Chronometer: initRankingMonthView завершен!
2020-10-17 18:43:06.507 I/Chronometer: initWeeklyView инициирован!
2020-10-17 18:43:07.718 I/Chronometer: initWeeklyView завершен!
2020-10-17 18:43:07.718 I/Chronometer: initRankingView инициирован!
2020-10-17 18:43:09.171 I/Chronometer: initRankingView завершен!
2020-10-17 18:43:09.171 I/Chronometer: initRankingMonthView инициирован!
2020-10-17 18:43:10.079 I/Chronometer: initRankingMonthView завершен!
2020-10-17 18:43:10.113 I/Chronometer: initWeeklyView инициирован!
2020-10-17 18:43:11.411 I/Chronometer: initWeeklyView завершен!
2020-10-17 18:43:11.411 I/Chronometer: initRankingView инициирован!
2020-10-17 18:43:12.530 I/Chronometer: initRankingView завершен!
2020-10-17 18:43:12.530 I/Chronometer: initRankingMonthView инициирован!
2020-10-17 18:43:13.482 I/Chronometer: initRankingMonthView завершен!
Код из MainActivity:
val navController = findNavController(R.id.nav_host_fragment)
navView.setOnNavigationItemSelectedListener {
when (it.itemId) {
R.id.navigation_browse -> {
navController.navigate(R.id.browse)
true
}
R.id.navigation_explore -> {
navController.navigate(R.id.explore)
true
}
R.id.navigation_library -> {
navController.navigate(R.id.library)
true
}
R.id.navigation_profile -> {
true
}
else -> false
}
}
navView.selectedItemId = R.id.navigation_browse