255得票4回答
AndroidViewModel与ViewModel的区别

随着引入 Android 架构组件库,引入了几个新的类,包括 AndroidViewModel 和 ViewModel。然而,我很难弄清楚这两个类之间的区别。文档 简要地描述了 AndroidViewModel: 应用程序上下文感知的 ViewModel 我欣赏简洁明了,但这到底意味着...

244得票30回答
ViewModelProviders在1.1.0版本中已被弃用。

查看Google文档中关于ViewModel的内容,其中提供了以下示例代码来获取ViewModel:val model = ViewModelProviders.of(this).get(MyViewModel::class.java) 当使用最新的依赖项 android.arch.lifec...

145得票14回答
如何使用fragment-ktx中的viewModels来获取viewModel?

我正在使用单个viewModel来处理活动和所有片段的数据。 因此,为了初始化viewmodel,必须在所有片段的onActivityCreated中编写此设置代码。 override fun onActivityCreated(savedInstanceState: Bundle?) ...

128得票10回答
从ViewModel观察LiveData

我有一个专门处理数据获取的类(具体来说是Firebase),通常我会从中返回LiveData对象并异步更新它们。现在我想将返回的数据存储在ViewModel中,但问题是为了获取该值,我必须观察从我的数据获取类返回的LiveData对象。观察方法需要一个LifecycleOwner对象作为第一个...

105得票13回答
手动清除 Android ViewModel?

编辑:现在谷歌已经为我们提供了将ViewModel作用于导航图的能力,因此这个问题有点过时了。更好的方法(而不是尝试清除活动范围的模型)是为正确数量的屏幕创建特定的导航图,并将其作用于这些导航图。 关于android.arch.lifecycle.ViewModel类。 ViewMod...

96得票6回答
什么时候会调用viewmodel的onCleared方法?

ViewModel是否独立于活动/片段的生命周期或仅配置更改。它们何时将停止存在并调用随后的onCleared()方法。 ViewModel是否可以与另一个Activity共享? 一种情况:Activity1+viewModel1--->(rotation)--->Activity...

80得票7回答
对象字段变化时的LiveData更新

我正在使用Android MVVM架构和LiveData。我有一个像这样的对象 public class User { private String firstName; private String lastName; public String getFirst...

76得票4回答
使用viewLifecycleOwner作为LifecycleOwner

我有一个片段:class MyFragment : BaseFragment() { // my StudentsViewModel instance lateinit var viewModel: StudentsViewModel override fun onCre...

69得票4回答
找不到DefaultActivityViewModelFactory

从2.33-beta版本迁移到2.35版本后,我的项目停止了构建,并显示以下错误: 一个txt版本: error: cannot access DefaultActivityViewModelFactory class file for dagger.hilt.androi...

57得票17回答
LiveData在开始观察时可以防止接收到最后一个值。

当开始观察时,是否可以防止LiveData接收最后一个值? 我考虑使用LiveData作为事件。 例如显示消息、导航事件或对话框触发等事件,类似于EventBus。 与ViewModel和片段之间的通信相关的问题,Google提供了LiveData来更新视图数据,但是当我们仅需要使用单个...