Klaas Kabini
01/11/2021, 11:05 AMprivate var _binding: ResultProfileBinding? = null
// This property is only valid between onCreateView and
// onDestroyView.
private val binding get() = _binding!!
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
_binding = ResultProfileBinding.inflate(inflater, container, false)
val view = binding.root
return view
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
Javier
01/11/2021, 11:08 AMJavier
01/11/2021, 11:09 AMJavier
01/11/2021, 11:09 AMprivate val binding by viewBinding(MyFragmentBinding::bind)
Klaas Kabini
01/11/2021, 11:14 AMSinan Gunes
01/11/2021, 11:14 AMabstract class MyFragment<B : ViewBinding>(private val binder: (LayoutInflater) -> B) : Fragment() {
private var _binding: B? = null
// This property is only valid between onCreateView and
// onDestroyView.
protected val binding get() = _binding!!
final override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
_binding = binder(inflater)
return binding.root
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
}
and usage is:
class ChildFragmentFragment : MyFragment<FragmentChildBinding>( FragmentChildBinding::inflate) {
fun method(){
binding.text1.text = "Hello World"
}
}
Javier
01/11/2021, 11:17 AMSinan Gunes
01/11/2021, 11:18 AMKlaas Kabini
01/11/2021, 11:36 AMstojan
01/11/2021, 11:54 AMFunkyMuse
01/11/2021, 1:46 PMAlejandro Rios
01/11/2021, 2:44 PMSinan Gunes
01/12/2021, 7:33 AMonDestroy
is not called on fragment while onDestroyView
is called when I have a viewPager to contain couple of fragments. Do you have an idea?Sinan Gunes
01/12/2021, 7:33 AMSinan Gunes
01/12/2021, 7:36 AMonDestroy
on fragments when used in a viewPager is not trustworthy:
https://stackoverflow.com/a/17195813
still digging.
---
conversation on gist continued on this problem as well, I got it again.zhuinden
01/12/2021, 7:53 AMonDestroy
. That only happens if you navigate back from the fragmentSinan Gunes
01/12/2021, 7:54 AM@OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)