如何使用firebase查询过滤android listview项?

时间:2016-03-15 15:37:24

标签: android listview firebase firebase-realtime-database

我正在使用firebase startAt查询,但它没有做正确的过滤,例如,如果我想搜索产品名称“Milk”它没有显示名为“milk”的项目因为小写,所以如何实现它所以它可以为这两种情况工作?

b = (Button)view.findViewById(R.id.querybutton);

b.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {

        Firebase  ref = new Firebase("https://socialshopping.firebaseio.com/Food/Product");
        Query queryRef = ref.orderByChild("name").startAt(searchP.getText().toString());

        mActiveListAdapter  = new ActiveListAdapter(getActivity(), Product.class, R.layout.single_active_list, queryRef);
        mListView.setAdapter(mActiveListAdapter);
    }
});

1 个答案:

答案 0 :(得分:2)

Firebase 不是搜索引擎。试图假装它,只会导致糟糕的体验。但它是NoSQL数据库,这意味着您可以在其上构建多种类型的应用程序。包括许多搜索方案。

您有两个主要选择:

  1. 留在Firebase
  2. 将外部搜索引擎与Firebase结合使用
  3. 如果您留在Firebase中,您必须以您想要查询的方式存储数据,即将它们全部存储为小写,然后将搜索字词翻译为小写。

    另见: