В моем коде я загружал картинки после onCreateView () неудобно, потому что я не был уверен, что действие еще доступно. Поскольку Glide требовался контекст активности, я поместил этот фрагмент кода в onActivityCreated ()
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
//Crash unexpected since onActivityCreated should always have activity available
Glide.with(activity!!)
.load(viewModel.moment!!.mediaPath)
.into(binding.momentPhoto);
}
Однако, после просмотра некоторых лучших практик на Github, многие примеры загружают фотографии в onCreateView (). Они делают это с помощью метода requireActivity ()
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
binding = DataBindingUtil.inflate(layoutInflater, R.layout.fragment_photo_editor, container, false)
Glide.with(requireActivity())
.load(viewModel.moment!!.mediaPath)
.into(binding.momentPhoto);
return binding.root
}
Кто-нибудь знает, в чем разница между использованием ссылки на активность после onActivityCreated () и получением ссылки на активность из requireActivity ()?