Как создать более одной поисковой категории - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть приложение mov ie Предложение android и возможность поиска с одной категорией mov ie joner. Я могу искать фильмы с разными joner, как, например, Триллер, ужас и так далее. Но я хочу добавить еще одну категорию - язык фильмов, например, engli sh, korean, chines et c ... как добавить две категории в мой код. Я использую Firebase в качестве бэкэнда.

Мой базис c код

private void startSearch(CharSequence text) {
    SearchAdapter = new FirebaseRecyclerAdapter<IndianSubModel, IndianSubViewHolder>(
            IndianSubModel.class,
            R.layout.computer_topic_items,
            IndianSubViewHolder.class,
            MCC.orderByChild("category").equalTo(text.toString())

Мой вопрос заключается в том, как добавить буксировку orderbychild ("категория" и "язык")

Мой полный код

materialSearchBar = (MaterialSearchBar)findViewById(R.id.searchBar);
    materialSearchBar.setHint("Enter Category");
    //materialSearchBar.setSpeechMode(false);
    loadSuggest();
    materialSearchBar.setLastSuggestions(suggestList);
    materialSearchBar.setCardViewElevation(10);
    materialSearchBar.addTextChangeListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            List<String> suggest = new ArrayList<>();
            for (String search:suggestList)
            {
                if (search.toLowerCase().contains(materialSearchBar.getText().toLowerCase()))
                    suggest.add(search);
            }
            materialSearchBar.setLastSuggestions(suggest);
        }

        @Override
        public void afterTextChanged(Editable s) {

        }
    });
    materialSearchBar.setOnSearchActionListener(new MaterialSearchBar.OnSearchActionListener() {
        @Override
        public void onSearchStateChanged(boolean enabled) {
            if (!enabled)
                recyclerView.setAdapter(adapter);
        }

        @Override
        public void onSearchConfirmed(CharSequence text) {
            startSearch(text);

        }

        @Override
        public void onButtonClicked(int buttonCode) {

        }
    });


}

private void startSearch(CharSequence text) {
    SearchAdapter = new FirebaseRecyclerAdapter<IndianSubModel, IndianSubViewHolder>(
            IndianSubModel.class,
            R.layout.computer_topic_items,
            IndianSubViewHolder.class,
            MCC.orderByChild("category").equalTo(text.toString())
    ) {
        @Override
        protected void populateViewHolder(IndianSubViewHolder viewHolder, IndianSubModel model, int position) {
            viewHolder.thrillername.setText(model.getTitle());
            Picasso.get().load(model.getImage())
                    .into(viewHolder.thrillersimage);

            final IndianSubModel local = model;
            viewHolder.setItemClickListner(new ItemClickListner() {
                @Override
                public void onClick(View view, int position, boolean isLongClick) {


                    Intent detailsIntent = new Intent(VellithiraActivity.this, VellithiraVideoActivity.class);
                    detailsIntent.putExtra("CategoryId", SearchAdapter.getRef(position).getKey());
                    startActivity(detailsIntent);
                }
            });

        }
    };
    recyclerView.setAdapter(SearchAdapter);
}


//SearchBar
private void loadSuggest() {

    MCC.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot postSnapshot:dataSnapshot.getChildren())
            {
                IndianSubModel item = postSnapshot.getValue(IndianSubModel.class);
                suggestList.add(item.getTitle());
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });


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