62得票8回答
何时使用MutableLiveData和LiveData

何时使用MutableLiveData和LiveData取决于使用方法的范围: MutableLiveData<User> getUser() { if (userMutableLiveData == null) { userMutableLiveData...

60得票10回答
如何在NavHostFragment中获取当前片段?

我尝试在新的导航组件中找到相关方法,但是没有发现相关内容。 目前我已经获取到了当前的目标位置:mainHostFragment.findNavController().currentDestination 但我找不到任何关于显示碎片的参考。

59得票13回答
如何将两个实时数据依次合并?

我有以下使用案例:用户进入注册表单,输入姓名、电子邮件和密码,然后点击注册按钮。之后系统需要检查电子邮件是否被占用,根据结果显示错误信息或创建新用户... 我正在尝试使用Room、ViewModel和LiveData来完成这个任务。这是一个我尝试学习这些组件的项目,我没有远程API,我将把所...

57得票9回答
Android WorkManager中的异步工作者

最近,Google 宣布了新的WorkManager 架构组件。它通过在 Worker 类中实现 doWork() 方法,使同步工作调度变得容易,但是如果我想在后台执行一些异步工作怎么办?例如,我想使用 Retrofit 进行网络服务调用。我知道可以进行同步网络请求,但这会阻塞线程,感觉不太对...

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

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

51得票5回答
MediatorLiveData或使用多个参数的switchMap转换

我在ViewModel中使用Transformations.switchMap,以便我的fragment中观察到的LiveData集合能够对code参数的更改做出反应。 这个很完美: public class MyViewModel extends AndroidViewModel { ...

48得票9回答
如何在导航控制器中使用共享元素过渡

我想使用导航架构组件,在导航到另一个片段时添加共享元素转换效果。但我不知道怎么做。文档中也没有相关的内容。有人能帮帮我吗?

48得票1回答
如何使用导航组件创建 BottomSheetDialogFragment?

我正在使用 BottomSheetDialogFragment 显示一些自定义设置。 需求: 当我点击 BottomSheetDialogFragment 中的任何选项卡时,我将替换该片段并将其添加到回退堆栈中,以便在用户单击“返回”或“上一步”操作时,它应返回到 BottomSheetD...

48得票5回答
Android Room:Order By不起作用

我正在使用新的Android ORM Room。我遇到了以下问题,带有参数的ORDER BY查询不起作用。如果我想要使用从参数填充的字段进行ORDER BY,它就无法正常工作。它只是不会对任何东西进行排序。@Query("SELECT * FROM User ORDER BY :orderBY...

47得票2回答
LiveData.无法赋值给'value':setter对于合成扩展是受保护的/*受保护和包*/。

我正在尝试按照安卓文档中描述的使用LiveData实现数据库观察者模式。 由于我用的是Kotlin编程语言,所以我正在将函数(原本是用Java编写的)适应到它上面。 在尝试保存数据时,我遇到了这个问题。Cannot assign to ‘value’: the setter is prot...