我有一个带有FireBaseRecyclerAdapter的RecyclerView。当用户开始输入SearchView时,我想用一个名称列表填充RecycerView。
public class SchoolsAdapter extends FirebaseRecyclerAdapter<School, SchoolsAdapter.SchoolViewHolder> {
public SchoolsAdapter(Query ref) {
super(School.class, R.layout.item_school, SchoolViewHolder.class, ref);
}
@Override
public void populateViewHolder(SchoolViewHolder schoolViewHolder, School school, int position) {
schoolViewHolder.name.setText(school.getName());
schoolViewHolder.address.setText(school.getAddress());
}
static class SchoolViewHolder extends RecyclerView.ViewHolder {
public TextView name;
public TextView address;
public SchoolViewHolder(View itemView) {
super(itemView);
name = (TextView) itemView.findViewById(R.id.school_item_tview_name);
address = (TextView) itemView.findViewById(R.id.school_item_tview_address);
}
}
}
@Override
public boolean onQueryTextChange(String newText) {
mRecyclerView.setAdapter(new SchoolAdapter(ref.orderByChild("name").startAt(userQuery).endAt(userQuery+"~"))
return false;
}
也是对查询进行忽略的方法吗?
我刚刚完成了一些接近你所要找的东西,我不确定这是最优雅的解决方案,但我会抛出一些想法,如果你认为我的想法会有帮助,我肯定可以提供一些例子。
首先,当我扩展基本FirebaseAdapter时,我添加了一个名为mFullList的新筛选器,因为FirebaseAdapter的mItems将用于显示列表,所以我不想在没有必要的情况下继续返回到网络。然后重写子类中的所有方法,用Firebase回调的值更新mFullList,对它们进行排序,筛选它们,然后用新列表调用super.x()。
急忙道:
public reset(List)
mFullList = List
Collections.sort(mFullList, Comparator)
getFilter().filter(filterString)
mFullList.get(pos).getName().toLowerCase().contains(filterString.toLowerCase);
filterCompleted(List)
getItems().clear
getItems().addAll
notify
adapter.getFilter().filter("something")
若要根据更新的字段筛选列表,请执行以下操作:
adapter.getFilter().filter("")
重置完整列表(只要您的performFilter()正确处理了它。这样,来自FireBase的新更新将根据用户的选择进行过滤,并且当用户输入新值时,不需要发出新的FireBase网络请求。
我的页面中有一个名为“search_table”的DataTable。我在表中有一个附加的标题行,它具有不同的筛选选项(dropdown、text、date_pickers)。对于日期列,我有两个datepicker,一个用于min,一个用于max。我可以根据datepickers为datatable筛选数据,但有一个问题: 当我选择一个日期时,我的表中的所有行都消失了,我必须点击其中的一个标题(
应用筛选器之前的示例使用者记录是(在值中查找GP_ID): 当我在kafkaListenerContainerFactory()中按如下方式设置recordFilterStrategy时: KafKareCordvo.ConvertByteBufferToLong正在将bytebuffer值转换为long值。 但是,当它被Kafka听众按以下方式消费时: 这将返回删除我筛选的字段值的记录:“gp_
首先,我试图使选择所有复选框,如果我单击表头中的选择所有复选框,整个表行将选择并显示一个复选框反向消息,即我选择了多少复选框。这里的问题是,如果我单击select all复选框,反向消息不会显示楼上的表,即我选择了多少行。 其次,如果我从任何列中筛选任何数字,相同的数字将显示同一列中有多少行具有相同的数字。如果我选中了所有复选框,那么反向消息将显示我选中了多少行复选框。这里,问题是显示整个表行计数
我正试图返回一份基于用户给定日期的患者名单。但每次我运行该方法时,它都会返回所有医生的列表,而不是经过筛选。 主屏幕上的代码 过滤方法 搜索患者日期的方法 我初始化了两个患者,即patient1和patient 2。病人1的医生叫李医生,病人2的医生叫詹姆斯医生。首先,我为patient1输入以下信息,而patient2现在什么都没有。 当我拿到医生名单时,问题就来了。即使日期是错误的,它仍会继续
我需要筛选此查询,以便不显示值为的文档。当前,我的代码显示以下结果: 我需要一些过滤器,使消失,以便它显示我作为第一个值:。 我以前执行过以下操作:
我需要过滤一个列表