Поисковый запрос Java Android - PullRequest
0 голосов
/ 24 апреля 2020

Моя база данных Firebase имеет следующие узлы:

Продукты -> Категория -> женское платье

Обратите внимание, что под узлом Категория есть разные дочерние узлы, кроме "женского платья" "(как футболки, свитера, ноутбуки и т. д. c.). Я использую приведенный ниже код, чтобы предоставить пользователям возможность поиска в узле категории:

protected void onStart() {
    super.onStart();

    DatabaseReference reference=FirebaseDatabase.getInstance().getReference().child("Products");

    FirebaseRecyclerOptions<Products> options=new FirebaseRecyclerOptions.Builder<Products>()
            .setQuery(reference.orderByChild("Category").startAt(searchInput).endAt(searchInput+"\uf8ff"),Products.class)
            .build();

    FirebaseRecyclerAdapter<Products, ProductViewHolder> adapter=new FirebaseRecyclerAdapter<Products, ProductViewHolder>(options) {
        @Override
        protected void onBindViewHolder(@NonNull ProductViewHolder holder, int position, @NonNull final Products model) {
            holder.txtProductName.setText(model.getName());
            holder.txtProductDescription.setText(model.getDescription());
            holder.txtProductPrice.setText("Price: Rs. " + model.getPrice() + ".00");
            Picasso.get().load(model.getImage()).into(holder.imageView);

            holder.itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent=new Intent( SearchProductsActivity.this,ProductDetailsActivity.class);
                    intent.putExtra("pid",model.getPID());
                    startActivity(intent);
                }
            });
        }

        @NonNull
        @Override
        public ProductViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
            View view= LayoutInflater.from(parent.getContext()).inflate(R.layout.product_items_layout,parent,false);
            ProductViewHolder holder=new ProductViewHolder(view);
            return holder;
        }
    };

    searchList.setAdapter(adapter);
    adapter.startListening();
}

Приведенный выше код извлекает все данные, когда пользователь вводит поисковый запрос как "женские", то есть все товары категории " женское платье "извлекается, но если в качестве поискового запроса введено" платье ", то ничего не извлекается.

Что мне не хватает?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...