我希望能够在我的可穿戴应用程序中使用新的 Android 架构组件中的生命周期组件(就像我在我的 Android 应用程序中所做的那样)。
在我的主要 Android 应用程序中,我输入了 LiveData ViewModel 中的字段.这ViewModel然后可以从我的 Activity 和我的 fragment 访问/绑定(bind)。为此,我使用方法 ViewModelProviders.of期望 android.support.v4.app.Fragment或 android.support.v4.app.FragmentActivity .到目前为止一切顺利...
我面临的问题是我的 Wear 应用程序基于 WearableActivity从 android.app.Activity 扩展的类而不是来自 android.support.v4.app.FragmentActivity .这使我无法使用 ViewModelProviders.of在我的可穿戴应用中。
我四处打听并试图找到替代解决方案,但我不了解 ViewModelProviders 的内部结构,所以我现在无法解决这个问题。如果没有答案,我希望从事这些组件工作的人可以看看这个。如果能够在我的应用程序(移动设备和可穿戴设备)中使用 ViewModel 和 LiveData,那就太棒了。
最佳答案
更新: AmbientMode似乎是处理这个问题的新方法。
正如@codingjeremy 在他的帖子中提到的,他们现在已经在 Android 支持库 27.0.0 中引入了这一点。
原文:
我通过将 WearableActivity 中的实现逐字复制到我自己的项目中定义的新 WearableFragmentActivity 类,然后更改它以扩展 FragmentActivity 来解决这个问题。直接获得 Google 的支持将是理想的解决方案,但如果您同时正在寻找解决方法,这应该可行。
关于android - 如何将 WearableActivity 与 LiveData 和 ViewModel 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46181280/