如何检查以下代码的RecyclerView是否为空?

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

我一直在尝试检查RecyclerView是否为空,我无法使其正常工作。我尝试使用getitemcount()方法,但它始终返回null。使用Firebase节点(如果存在)检查代码是否为空的代码实现。但是,我想通过Recyclerview检查。代码的最后一部分包含getitemcount()方法,该方法不起作用,并且始终提供null。

private void loadFriendRequestList() {



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



    adapter = new FirebaseRecyclerAdapter<User, FriendRequestViewHolder>(options) {



        @Override
        protected void onBindViewHolder(@NonNull FriendRequestViewHolder friendRequestViewHolder, int i, @NonNull final User user) {

            friendRequestViewHolder.txt_user_email.setText(user.getEmail());
            friendRequestViewHolder.btn_accept.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {

                }
            });

            friendRequestViewHolder.btn_decline.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {

                }
            });



        }

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

            return new FriendRequestViewHolder(itemView);
        }

        @Override
        public int getItemCount() {
            return super.getItemCount();
        }
    };

    adapter.startListening();
    recycler_all_user.setAdapter(adapter);

    if(adapter.getItemCount()==0)
        Snackbar.make(getWindow().getDecorView().getRootView(), "No new friend request", Snackbar.LENGTH_INDEFINITE).show();


}
android android-recyclerview
1个回答
0
投票

用此替换您的getItemCount()

 @Override
    public int getItemCount() {
        return options.getSnapshots().size()
    }
© www.soinside.com 2019 - 2024. All rights reserved.