在片段之间切换视图模型不起作用

时间:2020-09-26 00:52:32

标签: android

我正在使用带注入的viewmodel。在我的计划中,我有两个片段。一个是A,另一个是B。 使用A Viewmodel时,它可以正常工作。但是在更改A-> B-> A之后,A Viewmodel不起作用。 我不明白为什么视图模型不起作用。我解决的唯一方法是生成一个新片段A。但是我想使用DaggerFragment。请让我知道为什么会这样。

viewmodel注入代码

 class AFragment : DaggerFragment(){
    @Inject
    lateinit var viewModelFactory : ViewModelProvider.Factory
    private val viewModel by viewModels<HomeViewModel>{viewModelFactory}

   override fun onCreateView (inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        binding = FragmentHomeFirstwalkingBinding.inflate(layoutInflater, container,false).apply {
            viewmodel = viewModel
        }
        return binding.root
    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        initLayout()
    }

    private fun initLayout(){
      
        binding.title.setOnClickListener {
            viewModel.getTrainingDataList("sad")
        }
    }
}
更改片段后,

binding.title.setOnClickListener不起作用。

0 个答案:

没有答案