android - 在视图模型不起作用的片段之间更改
问题描述
我正在使用带有注入的视图模型。在我的 scnario 中,我有两个片段。A一个是A,另一个是B。使用A Viewmodel时,它正在工作。但是在更改 A -> B -> A 之后,A Viewmodel 不起作用。我不明白为什么视图模型不起作用。我解决的唯一方法是生成一个新的片段 A。但我想使用 DaggerFragment。请让我知道为什么会这样。
视图模型注入代码
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 在更改片段后不起作用。
解决方案
推荐阅读
- javascript - 将数据从后端设置为文本编辑器,然后更改这些数据
- ruby-on-rails - Watir Scraping Rails - 设置存在的输入日期?但不存在
- kotlin - 来自服务器的凌空 POST 和响应为空的问题 (Kotlin)
- javascript - JS日历推送数据显示
- javascript - 如何确保对象中的一个属性在javascript中始终为真
- laravel - 为什么我收到错误:«无法从作曲家包中找到组件 [] 的类或视图»?
- angular - 为“this.dialogRef.componentInstance['updateEmitter'].subscribe”创建单元测试用例角度?
- powerbi - 如何对以 PDF 附件形式发送的 Power BI 报告进行密码保护
- go - golang exec.Command 使用 bash 返回退出状态 1
- cohen-kappa - 尽管观察到高位,为什么科恩的 kappa 如此之低?