Элементы добавляются в RecyclerView, но не отображаются - PullRequest
0 голосов
/ 12 июня 2018

Я получаю список нескольких пользователей, которые были добавлены, но не видны.Когда я добавил Toast при нажатии элемента, он показывает данные null , и android studio выдает предупреждение также в классе модели, конструктор никогда не используется . Я использую ChildEventListener и пользовательский адаптер

Пользовательский код адаптера

class CustomMemberAdapter extends RecyclerView.Adapter<SetMeeting_2.User_MemberHolder>{

    List<UserModel_member_DP_NAME> mList;

    CustomMemberAdapter(List<UserModel_member_DP_NAME> mList) {
        this.mList = mList;
    }

    @Override
    public User_MemberHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.set_meeting_userlist_item,parent,false);
        return new User_MemberHolder(v);
    }

    @Override
    public void onBindViewHolder(User_MemberHolder holder, int position) {
        final UserModel_member_DP_NAME model = mList.get(position);
        holder.txt.setText(model.getName());
        Picasso.with(holder.itemView.getContext()).load(model.getDp()).into(holder.img);
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(view.getContext(), String.valueOf(model.getName()), Toast.LENGTH_SHORT).show();
            }
        });

    }

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

Код модели класса

private static class UserModel_member_DP_NAME {
    String dp,name;
    UserModel_member_DP_NAME(){}

    UserModel_member_DP_NAME(String dp, String name) { //never used warning
        this.dp = dp;
        this.name = name;
    }
    public String getDp() {
        return dp;
    }
    public void setDp(String dp) {
        this.dp = dp;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

Код ChildEventListener

mDatabase = FirebaseDatabase.getInstance().getReference();
    defaultQuery = mDatabase.child("users").child(current_user).child("directorylist");
    defaultQuery.addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
            UserModel_member_DP_NAME model = dataSnapshot.getValue(UserModel_member_DP_NAME.class);
            memberList.add(model);
            adapter.notifyDataSetChanged();
        }

        @Override
        public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {

        }

        @Override
        public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {

        }

        @Override
        public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {

        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });
    recyclerView.setAdapter(adapter);

вот моя структура базы данных enter image description here

...