我正在发送变量并在一个片段中接收它,但是对于ViewModel中的用户界面来说,这是必需的。在ViewModel中访问变量的最佳方法是什么?
发送片段
val gameMode = 1
val action = PlayFragmentDirections.actionPlayFragmentToGameFragment(gameMode)
findNavController().navigate(action)
接收片段
binding = DataBindingUtil.inflate(inflater, R.layout.game_fragment,
container,false)
viewModel = ViewModelProviders.of(this).get(GameViewModel::class.java)
val gameFragmentArgs by navArgs<GameFragmentArgs>()
var x = gameFragmentArgs.gamemode
binding.gameViewModel = ViewModel
binding.lifecycleOwner = this
由于您正在使用jetpack库中的android的Navigation组件,我建议您阅读允许您在目标之间传输数据的Navigation safeargs。