Android Studio - Recycler Просмотр пустого списка - PullRequest
0 голосов
/ 02 мая 2018

когда я использую ValueEventListener внутри populateViewHolder, список становится пустым. Но когда я не делаю, список заполняется заполнителем. Это странно, потому что я уже использовал этот EventListener в другом обзоре переработчиков и работает нормально. Но я не знаю, что здесь происходит.

Причина, по которой я должен использовать его, заключается в том, что в моей базе данных есть что-то вроде этого:

-> root
---> Events
------> -L9TDlh9MukU9vuHUAv-
----------> asist
--------------> Users ids that go to this event
----------> /* Other event stuff */
------> -LA3OyftXo2nSKMzhVCu
----------> asist
--------------> Users ids that go to this event
----------> /* Other event stuff */

---> Users
------> JrB6orsAs0PP7SHLKfiC9hEE9ax1
---------> /* User stuff */
------> MfFyQ2GbDbRr61I8j4QtQn7XoIj1
---------> /* User stuff */

Так что просмотрщик-получатель получает список по списку событий, и для каждого элемента я получаю идентификаторы пользователя. С каждым идентификатором я устанавливаю ValueEventListener из базы данных Users, и там я получаю информацию о пользователе для заполнения элемента. Я делаю это много раз, и каждый раз отлично работает. Но я не знаю, почему я не могу это исправить.

Вот конфиг реселлера:

recyclerView = findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setHasFixedSize(true);

Вот адаптер:

userDatabase = FirebaseDatabase.getInstance().getReference().child("Events").child("-L9TDlh9MukU9vuHUAv-").child("asist");

adapter = new FirebaseRecyclerAdapter<Users, UsersViewHolder>(

            Users.class,
            R.layout.users_row_layout,
            UsersViewHolder.class,
            userDatabase

    ) {
        @Override
        protected void populateViewHolder(final UsersViewHolder viewHolder, Users model, final int position) {
mDatabase = FirebaseDatabase.getInstance().getReference().child("Users");
            mDatabase.child(getRef(position).getKey().toString()).addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {

                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });
        }
    };

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