31得票6回答
在不同 Activity 中的 Fragment 之间共享 ViewModel

我有一个名为SharedViewModel的ViewModel: public class SharedViewModel<T> extends ViewModel { private final MutableLiveData<T> selected = ...

26得票7回答
如何在后台线程上执行LiveData转换?

我需要将一个LiveData对象返回的一种类型的数据在后台线程上转换为另一种形式,以防止UI卡顿。 在我的具体情况下,我有: MyDBRow对象(由原始的long和String构成的POJO); 一个Room DAO实例通过LiveData<List<MyDBRow>&...

19得票3回答
AppCompatActivity没有实现LifecycleOwner接口

我正在使用Android Support Library 26.1.0。这些是应用模块中的依赖项: implementation "android.arch.lifecycle:runtime:1.0.0" implementation "android.arch.lifecycle:ext...

17得票2回答
如何在继承LifecycleActivity的视图中设置支持ActionBar

我有一个扩展了AppCompactActivity的Activity,在onCreate方法中,我通常的方式使用setSupportActionBar 方法来设置 Toolbar:public class StepMasterActivity extends AppCompatActivity...

16得票2回答
由于缺少方法(在com.google.android.apps.mtaas.crawler-1/base.apk中),导致预启动报告失败。

最近我的应用开始在预启动报告中包含奇怪的错误消息(在上传到Play商店后自动生成)。 这些报告包含以下异常:Exception java.lang.NoSuchMethodError: No interface method a(Landroid/arch/lifecycle/e;Landro...

14得票4回答
当片段重新创建时,ViewModel 会重新获取数据

我正在使用底部导航和导航架构组件。当用户通过底部导航从一个项目导航到另一个项目,然后再返回时,视图模型将调用存储库函数重新获取数据。因此,如果用户来回切换10次,则会获取相同的数据10次。如何在片段重新创建数据已经存在的情况下避免重新获取数据?。 片段 class HomeFragment...

11得票3回答
java.lang.IllegalStateException: 取消调用不能没有可能运行

我想要用 Robolectric 测试一个简单的 ViewModel。 这是我的 ViewModel: GreetingsViewModel.kt@FlowPreview @ExperimentalCoroutinesApi class GreetingsViewModel : ViewM...

10得票7回答
如何为Android架构组件的生命周期事件添加单元测试?

我尝试为支持架构组件生命周期事件的函数添加单元测试。为了支持生命周期事件,我为该函数添加了@OnLifecycleEvent注释,当发生该事件时,我想让该函数执行某些操作。 一切都按预期工作,但我想创建一个单元测试来检查当预期事件发生时我的函数是否运行。 public class CarSe...

9得票2回答
在Android Architecture组件1.1.1中找不到DiffCallback类。

最近我在gradle文件中更新了android.arch支持库的版本 // ViewModel and LiveData implementation "android.arch.lifecycle:extensions:1.1.1" // alternatively, ...

8得票3回答
AndroidViewModel - 重复调用不会在观察函数中返回数据。

我的问题与 ViewModel第二次返回null 有关,如果我对服务器进行重复调用,则在observe函数中我无法获取回调。以下是我使用的代码 - @Singleton public class NetworkInformationViewModel extends AndroidViewM...