我想使用GeoFire填充Android中的Firebase Recycler View

问题描述 投票:0回答:1

我正在构建一个约会应用程序,我想在用户所在地附近找到人,所以我正在使用geofire,但我不知道如何与回收站适配器一起使用它这是我的代码

    FirebaseRecyclerOptions<Users> options =
                new FirebaseRecyclerOptions.Builder<Users>()
                        .setQuery(mUsersDatabaseReference, Users.class)
                        .build();
            FirebaseRecyclerAdapter<Users, UserViewHolder> firebaseRecyclerAdapter=new FirebaseRecyclerAdapter<Users,UserViewHolder>(options
            ) {
                @NonNull
                @Override
                public UserViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
                    View view = LayoutInflater.from(parent.getContext())
                            .inflate(R.layout.recycle_list_single_user, parent, false);
                    return new UserViewHolder(view);
                }

                @Override
                protected void onBindViewHolder(@NonNull UserViewHolder userViewHolder, int i, @NonNull Users users) {
                    LinearLayout layout=userViewHolder.mView.findViewById(R.id.all);
                    if (users.getName()==null)layout.setVisibility(View.GONE);
                    else{
                        userViewHolder.setName(users.getName());
                        if(users.getOnline()!=null)userViewHolder.setUserOnline(users.getOnline());
                        userViewHolder.setStatus(users.getStatus());
                        userViewHolder.setImage(users.getImage(),getActivity().getApplicationContext(),users.getSex());
                        final String user_id=getRef(i).getKey();
                        final String userName=users.getName();
                        userViewHolder.mView.setOnClickListener(new View.OnClickListener() {
                            @Override
                            public void onClick(View v) {
                                Intent profileIntent=new Intent(getContext(), ProfileActivity.class);
                                profileIntent.putExtra("user_id",user_id);
                                startActivity(profileIntent);
                            }
                        });

                        ViewGroup.MarginLayoutParams marginParams = new ViewGroup.MarginLayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);
                        if(i%3==1)
                            marginParams.setMargins(0, 150, 0, 0);
                        else if(i>5)
                            marginParams.setMargins(0, -150, 0, 0);
                        else if(i>2)
                            marginParams.setMargins(0, -100, 0, 0);
                        layout.setLayoutParams(marginParams);

                    }
                }
            };
            mUsersList.setAdapter(firebaseRecyclerAdapter);
                firebaseRecyclerAdapter.startListening();
            }
        }

我在这里搜索了很多东西,但没有找到任何解决方法

android firebase firebase-realtime-database geofire
1个回答
0
投票
FirebaseUI中的适配器旨在直接从Firebase Realtime数据库或Cloud Firestore加载数据。它们未与GeoFire / GeoFirestore集成。
© www.soinside.com 2019 - 2024. All rights reserved.