如何将显示更多功能添加到Firebase数据库中?

时间:2019-06-12 14:28:34

标签: java android

我是Firebase android应用程序开发的新手。 在这个应用程序中,我从Firebase数据库中获取了数据。 在这里,我想在recyclerview中实现显示更多功能以节省数据加载。 我在许多stackoverflow问题中都看到了解决方案。但是在每个问题中,适配器类都是在主要活动之外定义的。所以我无法正确理解。 在这里,我的适配器位于主要活动类中。

class MainActivity extends AppCompatActivity {


    private RecyclerView postList;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        PostRef=FirebaseDatabase.getInstance().getReference().child("Posts");
        postList = (RecyclerView) findViewById(R.id.all_user_post_list);
        postList.setHasFixedSize(true);
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
        linearLayoutManager.setReverseLayout(true);
        linearLayoutManager.setStackFromEnd(true);
        postList.setLayoutManager(linearLayoutManager);
        displayAllUserPost();
    }

    private void displayAllUserPost() {

        Query sortPost=PostRef;
        FirebaseRecyclerOptions<Post> options=new FirebaseRecyclerOptions.Builder<Post>().setQuery(sortPost,Post.class).build();
        FirebaseRecyclerAdapter<Post, PostsViewHolder> firebaseRecyclerAdapter=new FirebaseRecyclerAdapter<Post, PostsViewHolder>(options)
            @Override
            protected void onBindViewHolder(@NonNull final PostsViewHolder holder, final int position, @NonNull final Post model) {

                final String PostKey = getRef(position).getKey();
                holder.postfullname.setText(model.getFirstname() + " " + model.getLastname());
            }


        @NonNull
        @Override
        public PostsViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType)
        {
            View view=LayoutInflater.from(parent.getContext()).inflate(R.layout.all_post_layout,parent,false);
            PostsViewHolder viewHolder=new PostsViewHolder(view);
            return viewHolder;
        }
        }
    }
    public static class PostsViewHolder extends RecyclerView.ViewHolder
    {

        TextView postfullname;

        public PostsViewHolder(View itemView)
        {
            super(itemView);
            postfullname = itemView.findViewById(R.id.user_post_full_name);
        }
    }
}

因此,我如何在首次加载仅10个项目时和在加载带有圆形进度条的10个以上项目后显示更多功能(显示更多按钮并不重要)。

最重要的是,首先只能加载10个项目。在用户向下滚动到最后一个(第10个)项目之前,不应加载其余项目

谢谢。

0 个答案:

没有答案