31得票4回答
使用导航组件将视图模型限定于多个片段(而非活动)的范围

我正在使用导航组件,希望在多个片段之间共享一个视图模型,但当我离开这些片段时它们应该被清除(因此不要将它们限定为活动)。我正在尝试采用“一个活动多个片段”的方法。我已经成功地使用多个导航主机,并使用getParentFragment将片段范围界定到它,但这只会导致更多问题,必须将片段包装在其他...

30得票1回答
把ViewModel绑定到Service上是正确的吗?

我已开始在我的应用程序中使用Architecture Components,并且仍在学习如何使用它。在我的应用中,我有一个Activity按顺序显示不同的Fragments。在其中一些片段中,我需要与后台服务通信,以从外部BLE传感器接收数据。由于我需要在不止一个Fragment中与服务交互,...

27得票5回答
Android ViewModel and startActivity

我正在学习 ViewModel 和 LiveData,在这个过程中,产生了一个疑问。 如果我需要启动一个 Activity,该怎么办? 将上下文作为参数传递给 ViewModel 是否可行(上下文不会存储在 ViewModel 中)?ActivityAViewModel : ViewMod...

27得票4回答
在使用Hilt进行依赖注入时,如何将运行时参数传递给ViewModel的构造函数?

我想知道如何在使用Hilt进行依赖注入时向ViewModel的构造函数传递运行时参数? 在使用Hilt之前,我的ViewModel看起来像这样: class ItemViewModel(private val itemId: Long) : ViewModel() { private...

26得票2回答
在没有LifecycleOwner的自定义视图中设置LiveData观察器

我正在尝试使用新的Android Architecture组件,并且在尝试为自定义视图使用MVVM模型时遇到了阻碍。 实际上,我创建了一个自定义视图来封装常见的UI及其相应的逻辑以在整个应用程序中使用。我可以在自定义视图中设置ViewModel,但是我必须使用observeForever()或...

25得票2回答
当从AndroidViewModel扩展时如何使用ViewModelProvider.Factory

我想向我的ViewModel发送一个额外的参数,但是这个ViewModel是从AndroidViewModel继承而来的。我该如何将这个参数添加到ViewModelFactory类中呢? ViewModel class ProjectViewModel(application: Appli...

25得票3回答
使用MVVM模式进行Android导航

我有一个使用Android ViewModel类和Navigation组件来在片段之间导航的应用程序。我将如何处理从ViewModel中的导航?我正在使用RxJava,并考虑让片段监听导航事件,然后以那种方式触发导航。处理这个问题的正常方式是什么?如果有帮助,我还在使用Dagger进行依赖注入。

24得票4回答
RecyclerView项目的视图模型

我的活动拥有一个Google的ViewModel,该ViewModel获取一些模型项。然后这些项被转换为RecyclerView的适配器项。同一个RecyclerView支持许多类型的适配器项。 我希望每个模型对象都有一个单独的视图模型对象,以便我可以将更复杂的逻辑封装在这个“小”视图模型中...

23得票4回答
在ViewModel之间共享数据

我在我的项目中有一个复杂的屏幕,我将它分解成多个片段。我正在尝试为这些类遵循MVVM架构,因此每个片段都有自己的ViewModel和Contract类。 问题是所有的ViewModel都需要同一个对象实例(我们称之为Book)来进行数据库(Room)事务。 有没有一种正确的方式在ViewM...

23得票6回答
无法解析:androidx.lifecycle:lifecycle-extensions-ktx:2.0.0-alpha1。

我正在尝试理解Android中的ViewModel和LiveData概念。 我正在制作一个练习项目,但是当我在我的应用级别gradle文件中添加implementation 'androidx.lifecycle:lifecycle-extensions-ktx:2.0.0-alpha1'一行...