Java 基于android中用户输入的更新片段

Java 基于android中用户输入的更新片段,java,android,android-fragments,Java,Android,Android Fragments,我有一个附加了3个片段的活动(使用viewpager),每当任何片段中的用户更改日期范围时,我都需要从DB加载相关数据并在同一片段中显示 有谁能给我一个链接或建议一种方法吗?我会使用它,使您能够附加一个观察者(使用),并使用更新视图,以便在数据库中的数据发生更改时立即更新视图 在您的情况下,用户输入可以直接进入查询,一旦获取数据,您的视图将自动更新。我个人有一个例子,在ViewPager中有3个片段,它们显示相似的数据,所以我使用一个ViewModel来获取它。 下面是一个演示如何实现它的示例。

我有一个附加了3个片段的活动(使用viewpager),每当任何片段中的用户更改日期范围时,我都需要从DB加载相关数据并在同一片段中显示

有谁能给我一个链接或建议一种方法吗?

我会使用它,使您能够附加一个观察者(使用),并使用更新视图,以便在数据库中的数据发生更改时立即更新视图

在您的情况下,用户输入可以直接进入查询,一旦获取数据,您的视图将自动更新。我个人有一个例子,在ViewPager中有3个片段,它们显示相似的数据,所以我使用一个ViewModel来获取它。

下面是一个演示如何实现它的示例。基本上,您将拥有ViewModel、LiveData和Room的组合。

我尝试过这段代码,效果很好,但当我关闭应用程序并重新打开应用程序时,ViewModel中会出现重复的值,我是否做错了什么?@day\u dreamer您的意思是它们会出现两次吗?问题是
ViewModel
不会通过应用程序关闭来持久化数据。因此,一旦应用程序完全关闭或相关片段或活动关闭,
ViewModel
将被垃圾收集。检查文章,它很好地解释了这个概念。因此,当您重新打开应用程序时,您的
ViewModel
将从数据库中重新提取数据。谢谢,我的糟糕,我的插入逻辑中有一些缺陷,这是导致问题的原因。@day\u dreamer无问题:)