byviewmodel()、viewmode()和ViewModelProvider有什么区别?
创始人
2025-01-12 23:00:10
0

by viewmodel()和ViewModelProvider都是用来创建ViewModel实例的方法,但它们的使用方式稍有不同。

使用by viewmodel()时,需要在Activity或Fragment中引入kotlin-android-extensions插件,然后直接在代码中调用by viewmodel()即可创建ViewModel实例。例如:

class MyFragment : Fragment() { private val viewModel by viewModels() }

使用ViewModelProvider时,需要手动创建ViewModelProvider实例,然后调用get()方法获取ViewModel实例。例如:

class MyFragment : Fragment() { private lateinit var viewModel: MyViewModel

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
}

}

而viewmode()则是一个错误的拼写,应该为viewModels()。

需要注意的是,by viewmodel()和ViewModelProvider在不同的情况下可能会有不同的行为,例如当Activity或Fragment重新创建时。建议根据具体场景选择合适的方法创建ViewModel。

相关内容

热门资讯

黑科技科技(wepoke智能a... 黑科技科技(wepoke智能ai)wepower使用说明书(wepOkE)素来是真的有挂(确实有挂)...
黑科技模拟器(wepoke智能... WePoker透视辅助工具核心要点解析‌,黑科技模拟器(wepoke智能ai)wepoke是机器发牌...
黑科技脚本(wepokeai代... 您好,这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这款游戏中打牌都...
黑科技辅助挂(wepoke真的... 黑科技辅助挂(wepoke真的有挂)wepoke 软件(wEPOKE)固有真的有挂(有挂猫腻)-哔哩...
黑科技辅助挂(wepoke黑科... 黑科技辅助挂(wepoke黑科技)wepoke软件透明挂演示(wEpOke)一直真的有挂(真的有挂)...
黑科技app(wepoke真的... 此外,数据分析德州()辅助神器app还具备辅助透视行为开挂功能,通过对客户透明挂的深入研究,你可以了...
黑科技智能ai(wepoke辅... 黑科技智能ai(wepoke辅助插件)wepoke软件透明(WEPOke)先前是有挂(果真有挂)-哔...
黑科技模拟器(wepoke透明... 黑科技模拟器(wepoke透明黑科技)wepoke德州扑克用ai代打(WEPOKE)最初存在有挂(有...
黑科技插件(wepoke辅助插... 黑科技插件(wepoke辅助插件)wepoke软件透明(WEPOke)从来是真的有挂(有挂解惑)-哔...
黑科技美元局(wepoke智能... 黑科技美元局(wepoke智能ai)wepoke辅助真的假的(wepoKE)原先真的有挂(竟然有挂)...