Несколько детей на Query (андроид студия) - PullRequest
0 голосов
/ 16 октября 2018

Я изучаю java android просто для удовольствия, и у меня возникла проблема при использовании запроса.Проблема в том, что я хочу, чтобы входные данные поиска просматривали несколько дочерних элементов базы данных, но я могу заставить их искать только определенный дочерний элемент.Посмотрите, вот картинка из моего дерева базы данных Firebase:

database

и, что я хочу, это вставить слово в EditText и посмотреть объектсодержащее это слово в имени файла или в ключевых словах.

Вот часть моего кода, в которой я пытаюсь выполнить поиск, но он вылетает при запуске:

searchButton.setOnClickListener(new View.OnClickListener()
        {

            @Override
            public void onClick(View v)
            {
                String searchText = filesSearchInput.getText().toString();


                    Query filesSearchQuery = filesRef
                            .orderByChild("filename").orderByChild("keyword1").orderByChild("keyword2").orderByChild("keyword3")
                            .startAt(searchText).endAt(searchText + "\uf8ff");

                //exibir itens na busca
                FirebaseRecyclerAdapter<files, filesViewHolder>
                        firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<files, filesViewHolder>
                        (
                                files.class,
                                R.layout.file_display_layout,
                                filesViewHolder.class,
                                filesSearchQuery
                        )
                {
                    @Override
                    protected void populateViewHolder(filesViewHolder viewHolder, files model, int position)
                    {
                        final String fileKey = getRef(position).getKey();

                        viewHolder.setFiledescription(model.getFiledescription());
                        viewHolder.setFilename(model.getFilename());
                        viewHolder.setUid(model.getUid());
                        viewHolder.setKeyword1(model.getKeyword1());
                        viewHolder.setKeyword2(model.getKeyword1());
                        viewHolder.setKeyword3(model.getKeyword3());

                        downloadFileOnClickMETHOD(fileKey, viewHolder);
                    }
                };
                searchResultList.setAdapter(firebaseRecyclerAdapter);
            }
        });

Есть ли способ сделать это, ребята?Хотел бы ты мне помочь :) Спасибо всем.

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