在 Fragments 中哪里使用 View Binding 更好? (onCreateView 与 onViewCreated)
Where is better to use View Binding in Fragments? (onCreateView vs onViewCreated)
我看到了一些示例,其中在使用 inflate() 的 onCreateView() 和使用 bind() 的 onViewCreated() 中定义和使用了绑定。
有什么区别?哪里更好地使用我们的视图(RecyclerView、TextView 等)?
Google 文档显示如下示例:
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
_binding = ResultProfileBinding.inflate(inflater, container, false)
val view = binding.root
return view
}
但是在一些文章中我们也可以看到这样的东西:
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
_binding = ResultProfileBinding.bind(view)
}
最好在 onCreateview
中使用初始化绑定,因为它会在视图创建的同时扩充布局,然后在 onViewCreated
和其他函数中使用它。
你还需要在 onDestroyView
中制作 _binding = null
以防止泄漏。
我看到了一些示例,其中在使用 inflate() 的 onCreateView() 和使用 bind() 的 onViewCreated() 中定义和使用了绑定。
有什么区别?哪里更好地使用我们的视图(RecyclerView、TextView 等)?
Google 文档显示如下示例:
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
_binding = ResultProfileBinding.inflate(inflater, container, false)
val view = binding.root
return view
}
但是在一些文章中我们也可以看到这样的东西:
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
_binding = ResultProfileBinding.bind(view)
}
最好在 onCreateview
中使用初始化绑定,因为它会在视图创建的同时扩充布局,然后在 onViewCreated
和其他函数中使用它。
你还需要在 onDestroyView
中制作 _binding = null
以防止泄漏。