获取随机值FirebaseRecyclerAdapter实时数据库

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

我正在将Firebase实时数据库用于Android Studio。代码java。我使用实时数据库。我想每次随机带20个用户。

我有这个数据库:

Users: {
       User uıd: {
       User uıd: {
       User uıd: { 
       ...
DatabaseReference  profileUserReff ;
RecyclerView recyclerView;
FirebaseRecyclerOptions<Post> options ;
    FirebaseRecyclerAdapter<Post,HomesViewHolder> adapter ;
profileUserReff = FirebaseDatabase.getInstance().getReference().child("Users");

我的代码:

public void getrandomuser(){



        options =
                new FirebaseRecyclerOptions.Builder<Post>() 
                          .setQuery(profileUserReff, Post.class)
                        .build();

        adapter =
                new FirebaseRecyclerAdapter<Post, HomesViewHolder>(options) {
                    @Override
                    protected void onBindViewHolder(@NonNull final HomesViewHolder holder, final int position, @NonNull final Post model ) {

                        final String PostKey = getRef(position).getKey();

                        holder.namesurnamehome.setText(PostKey); 

                    }

                    @NonNull
                    @Override
                    public HomesViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
                        View itemView = LayoutInflater.from(getContext()).inflate(R.layout.user_model,viewGroup,false);
                        return new HomesViewHolder(itemView);

                    }


                };

        adapter.startListening();
        recyclerView.setAdapter(adapter);
        anasayfareflesh.setRefreshing(false);

    }

如何带20个随机用户?

java android firebase firebase-realtime-database firebaseui
1个回答
0
投票

要从您的Users节点中获取随机用户对象,请参阅以下帖子提供的答案:

但是,当使用Firebase-UI库时,适配器将始终按查询返回的顺序显示项目。因此,没有内置的支持来获取随机项目或在客户端上对结果进行重新排序。我想到的一种可能的解决方案是通过子类化FirebaseRecyclerAdapter并提供自己的实现来创建自己的适配器。

© www.soinside.com 2019 - 2024. All rights reserved.