如何解决如何使用 MVVM 模式应用标签标题
我正在研究 MVVM
模式,并尝试将其应用于 TabLayout
和 ViewPager2
。
我正在研究 MVVM
模式,但我不熟悉它并且很难。请理解。
我有一个关于如何使用 title
模式应用 tab
的 TabLayout
的 MVVM
的问题。
我为 viewmodel
创建了一个 TabLayout
类甚至代码,但我不知道如何正确应用 MVVM
模式。
但是没有必要使用view model (LiveData)
和observer
来只设置title
的{{1}}吗?
TabFragment
tab
ViewModel
class WorkoutListTabFragment : Fragment() {
private var _binding: FragmentWorkoutListTabBinding? = null
private val binding get() = _binding!!
private lateinit var adapter: WorkoutListPagerAdapter
private val viewModel: WorkoutListTabViewModel by viewModels { WorkoutListTabViewModelFactory() }
override fun onCreateView(inflater: LayoutInflater,container: ViewGroup?,savedInstanceState: Bundle?): View? {
_binding = FragmentWorkoutListTabBinding.inflate(inflater,container,false)
return binding.root
}
override fun onViewCreated(view: View,savedInstanceState: Bundle?) {
super.onViewCreated(view,savedInstanceState)
adapter = WorkoutListPagerAdapter(this)
binding.apply {
pager.adapter = adapter
TabLayoutMediator(tabs,pager) { tab,position ->
tab.text = "TEST${(position+1)}" // TODO: set Tab Title
}.attach()
}
viewModel.tab.observe(viewLifecycleOwner) {
// TODO: I don't know...
}
}
override fun onDestroy() {
super.onDestroy()
_binding = null
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。