たまにLiveDataの更新がビューに反映されなくてハマります。
よくやるのが lifecycleOwnerを設定し忘れること。 これをやってしまうと初期値は反映されるが更新が反映されなくて、ViewModelの記述を見ても悪いところがなくて解決に時間がかかります。
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
viewModel = ViewModelProviders.of(this).get(HogeViewModel::class.java)
binding = HogeFragmentBinding.inflate(inflater, container, false).apply {
viewmodel = viewModel
lifecycleOwner = viewLifecycleOwner // これを書き忘れる
}
return binding.root
}