Как запустить два запроса в FirebaseRecyclerAdapter? - PullRequest
0 голосов
/ 04 октября 2019

Вот моя первая функция:

private void loadUserList() {

    Query query = FirebaseDatabase.getInstance().getReference().child(Commonx.USER_INFORMATION);
    FirebaseRecyclerOptions<User> options = new FirebaseRecyclerOptions.Builder<User>()
            .setQuery(query,User.class)
            .build();

    adapter = new FirebaseRecyclerAdapter<User, UserViewHolder>(options) {
        @Override
        protected void onBindViewHolder(@NonNull UserViewHolder userViewHolder, int i, @NonNull final User user) {
                if(user.getEmail().equals(Commonx.loggedUser.getEmail())){

                    userViewHolder.txt_user_email.setText(new StringBuilder(user.getEmail()).append(" (me)"));
                    userViewHolder.itemView.setClickable(false);
                    userViewHolder.txt_user_email.setTypeface(userViewHolder.txt_user_email.getTypeface(), Typeface.ITALIC);

                    if(user.getImage()!=null){
                        Picasso.get().load(Commonx.loggedUser.getImage()).into(userViewHolder.recycler_profile_image);}
                }

                else {



                    if(user.getImage()!=null){
                    Picasso.get().load(user.getImage()).into(userViewHolder.recycler_profile_image);}

                    userViewHolder.txt_user_email.setText(new StringBuilder(user.getEmail()));



                }

                userViewHolder.setiRecycItemListerner(new IRecycItemListerner() {
                    @Override
                    public void onItemClickListener(View view, int position) {

                        showDialogRequest(user);

                    }
                });





        }

        @NonNull
        @Override
        public UserViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

            View itemView = LayoutInflater.from(parent.getContext())
                    .inflate(R.layout.layout_user,parent,false);

        return new UserViewHolder(itemView);
        }
    };
    adapter.startListening();
    recycler_all_user.setAdapter(adapter);
}

Вот моя вторая функция:

 private void loadFriendList() {


    Query query = FirebaseDatabase.getInstance()
            .getReference(Commonx.USER_INFORMATION)
            .child(Commonx.loggedUser.getUid())
            .child(Commonx.ACCEPT_LIST);


    FirebaseRecyclerOptions<User> options = new FirebaseRecyclerOptions.Builder<User>()
            .setQuery(query, User.class)
            .build();

    adapter = new FirebaseRecyclerAdapter<User, UserViewHolder>(options) {
        @Override
        protected void onBindViewHolder(@NonNull final UserViewHolder userViewHolder, int i, @NonNull final User user) {
            userViewHolder.txt_user_email.setText(new StringBuilder(user.getEmail()));


            DatabaseReference lmao;


            //Picasso.get().load(Commonx.loggedUser.getImage()).into(userViewHolder.recycler_profile_image);



            userViewHolder.setiRecycItemListerner(new IRecycItemListerner() {
                @Override
                public void onItemClickListener(View view, int position) {

                    //show tracking information

                    Commonx.trackingUser = user;

                    startActivity(new Intent(HomeActivity.this, TrackingActivity.class));


                }
            });


        }


        @NonNull
        @Override
        public UserViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
            View itemView = LayoutInflater.from(parent.getContext())
                    .inflate(R.layout.layout_user, parent, false);

            return new UserViewHolder(itemView);
        }
    };


    adapter.startListening();
    recycler_friend_list.setAdapter(adapter);



}

В первой функции я показываю всех пользователей, а во второй - друзейпользователей. Но я хочу запустить первый запрос функции и отфильтровать его по второму запросу функции. Потому что в моей структуре базы данных Firebase USER_INFORMATION содержит изображение, но списки друзей не содержат изображение. Суть в том, что я хочу запустить оба запроса параллельно, а после первой функции я хочу отфильтровать его по второй.

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