我正在使用firebase数据库在recyclerview中显示数据。现在我想通过使用android微调器添加一个过滤器选项。当我尝试使用不同的查询时,代码不起作用。如何使用微调器仅显示一个查询的数据,并通过更改微调器项来刷新该数据?现在,此代码在没有微调器单击项的情况下工作。
DatabaseReference reference = FirebaseDatabase.getInstance().getReference();
query = reference.child("student");
FirebaseRecyclerOptions<ModelPromocje> options =
new FirebaseRecyclerOptions.Builder<ModelPromocje>()
.setQuery(query, ModelPromocje.class)
.build();
微调器单击项,当位置为0时,它应该显示所有数据
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (position == 0){
query = reference.child("student");
}
else if (position == 1){
query = reference.child("student").orderByChild("course").equalTo("Math");
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
1条答案
按热度按时间hvvq6cgz1#
当用户在微调器中选择一个选项时,在您创建新的
query
对于所选选项,您需要更新适配器以使用新查询。你可以通过创建一个新的
FirebaseRecyclerOptions
对象,然后通过调用其updateOptions
.所以在你的大脑里
onItemSelected
:在那里
mAdapter
是什么意思FirebaseRecyclerAdapter
你最初也把你的选择权传给了。