Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 运行firebase query onClick并使用结果更新RecyclerView_Java_Android_Firebase_Android Recyclerview - Fatal编程技术网

Java 运行firebase query onClick并使用结果更新RecyclerView

Java 运行firebase query onClick并使用结果更新RecyclerView,java,android,firebase,android-recyclerview,Java,Android,Firebase,Android Recyclerview,我试图在我的firebase数据库上运行一个查询,以便只返回那些时间戳=日期选择器中指定的日期的结果(请参见应用程序的图片),我希望每次按下查看记录按钮时都运行此查询 [![Firebase][3]][3] 我目前能够将所有对象打印到recycler视图中,但是当尝试运行我的查询时,它不会产生任何结果,调试中没有错误和错误 如果我需要提供更多的细节,请让我知道 [3] :要解决此问题,请更改以下代码行: options = new FirebaseRecyclerOptions.Builde

我试图在我的firebase数据库上运行一个查询,以便只返回那些时间戳=日期选择器中指定的日期的结果(请参见应用程序的图片),我希望每次按下查看记录按钮时都运行此查询

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

我目前能够将所有对象打印到recycler视图中,但是当尝试运行我的查询时,它不会产生任何结果,调试中没有错误和错误

如果我需要提供更多的细节,请让我知道


[3] :

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

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

options=new FirebaseRecyclerOptions.Builder().setQuery(query,Records.class).build();
//                                                                ^   ^
您必须将
query
对象和not对象传递给
setQuery()
方法,因为查询对象实际上过滤了您的数据

编辑:

根据你的评论:


是的,它在硬编码时工作,但在将文本视图设置为字符串时不工作


这意味着传递查询对象确实有效,但问题仍然在于如何将数据转换为字符串。要解决此问题,请确保
日期的字符串表示形式为:
04-02-2017
,您的问题将得到解决。

此行
数据库引用中
日期的值是多少。orderByChild(“timestamp”)。equalTo(date)
?日期是转换为字符串的文本框的值,字符串日期=mDisplayDate.getText().toString().trim();在发布toast消息时,字符串显示为04-02-2019(或设置为任何日期),它是什么样子的?请提供该日期的字符串表示形式。“04-02-2017”或任何带有日期选择器的日期添加了当前显示方式的图像(toast消息显示日期值)仍然没有乐趣,我相信这是我如何创建字符串日期的问题,如果我手动将查询更改为query query=databaseReference.orderByChild(“timestamp”).equalTo(“04-02-2019”);它工作正常,但随后被卡在该日期。当您像下面这样硬编码日期时,它工作吗?databaseReference.orderByChild(“时间戳”).equalTo(“04-02-2017”)
?硬编码时它工作,但将文本视图设置为字符串时它不工作
options = new FirebaseRecyclerOptions.Builder<Records>().setQuery(query, Records.class).build();
//                                                                ^   ^