rycyclerview не показывает данные с помощью firebaserecyclerAdpater - PullRequest
0 голосов
/ 09 июля 2019

У меня есть база данных в реальном времени и я получаю данные через firebaserecyclerAdapter из базы данных в реальном времени и хочу показать в rcylerview.при использовании справочного кода базы данных осуществляется доступ к базе данных Firebase, но поля не отображаются в окне просмотра.Однако данные отображаются не только в моем приложении.


public class find_friends extends AppCompatActivity {

    RecyclerView find_friends_recyclerList;
    DatabaseReference databaseReference;
    FirebaseRecyclerAdapter<Contacts,findFriendsViewHolder> adapter;
    FirebaseRecyclerOptions<Contacts> options;
    Context context;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_find_friends);

        find_friends_recyclerList=findViewById(R.id.find_friends_recyclerList);
        find_friends_recyclerList.setHasFixedSize(true);


        databaseReference= FirebaseDatabase.getInstance().getReference().child("Users");


        options= new FirebaseRecyclerOptions.Builder<Contacts>()
                .setQuery(databaseReference, Contacts.class)
                .build();



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

                holder.name.setText(model.getName());
                holder.status.setText(model.getStatus());
                Picasso.get().load(model.getImages()).into(holder.profileImage);
            }

            @NonNull
            @Override
            public findFriendsViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
                LayoutInflater inflater= (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                View view=inflater.inflate(R.layout.friendlist_item,parent,false);


                return new findFriendsViewHolder(view);
            }
        };

        find_friends_recyclerList.setAdapter(adapter);
        adapter.startListening();

    }

    public static class findFriendsViewHolder extends RecyclerView.ViewHolder{

        TextView name,status;
        CircleImageView profileImage;
        public findFriendsViewHolder(View itemView) {
            super(itemView);
            name=itemView.findViewById(R.id.name);
            status=itemView.findViewById(R.id.phone);
            profileImage=itemView.findViewById(R.id.friend_image);

        }
    }
}

1 Ответ

1 голос
/ 09 июля 2019

Вы должны предоставить менеджер раскладки для представления переработчика.Например, LinearLayoutManager.

Добавьте эту строку кода:

find_friends_recyclerList.setLayoutManager(new LinearLayoutManager(this))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...