我试图在我的Firebase数据库上运行查询,以便仅返回那些timestamp =日期选择器中指定的日期的结果(请参阅应用程序图片),我希望每当我按下View records按钮时都运行此查询

java - 运行firebase查询onClick并使用结果更新RecyclerView-LMLPHP
java - 运行firebase查询onClick并使用结果更新RecyclerView-LMLPHP

[![Firebase] [3]] [3]

目前,我可以将所有对象打印到回收器视图中,但是,当尝试运行查询时,它不会产生任何结果,没有错误并且在调试中没有错误

如果我需要提供更多详细信息,请告诉我

[3]:https://i.stack.imgur.com/d2uu2.png

最佳答案

要解决此问题,请更改以下代码行:

options = new FirebaseRecyclerOptions.Builder<Records>().setQuery(databaseReference, Records.class).build();




options = new FirebaseRecyclerOptions.Builder<Records>().setQuery(query, Records.class).build();
//                                                                ^   ^


您必须将setQuery()对象而不是query对象传递给databaseReference方法,因为查询对象实际上是在过滤您的数据。

编辑:

根据您的评论:


  是的,在硬编码时可以正常工作,但是在将文本视图转换为字符串时无法正常工作


这意味着传递查询对象可以解决问题,但问题仍然在于如何将数据转换为String。要解决此问题,请确保date的String表示形式为:04-02-2017,并且将解决您的问题。

07-24 19:05
查看更多