Заполнение RecyclerView из базы данных Firebase - PullRequest
0 голосов
/ 27 октября 2018

Я новичок в Android, разрабатываю и пытаюсь отобразить данные из базы данных Firebase в Recyclerview, но когда я запускаю приложение, активность пользователей не отображается или на моем RecyclerView ничего не отображается.

Я застрял, и все равно вывод такой же: ничего не отображается.

UsersActivity:

private Toolbar mToolbar;

private RecyclerView mUsersList;

private DatabaseReference mUsersDatabase;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_users);

    mToolbar = (Toolbar) findViewById(R.id.users_appBar);
    setSupportActionBar(mToolbar);

    getSupportActionBar().setTitle("Users");
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    mToolbar.setTitleTextColor(Color.WHITE);
    mToolbar.setSubtitleTextColor(Color.WHITE);

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

    mUsersList = (RecyclerView) findViewById(R.id.users_list);
    mUsersList.setHasFixedSize(true);
    mUsersList.setLayoutManager(new LinearLayoutManager(this));

}

@Override
protected void onStart() {
    super.onStart();

    FirebaseRecyclerAdapter<Users, UsersViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Users, UsersViewHolder>(
            Users.class,
            R.layout.users_single_layout,
            UsersViewHolder.class,
            mUsersDatabase

    ) {
        @Override
        protected void populateViewHolder(UsersViewHolder usersViewHolder, Users users, int i) {
            usersViewHolder.setName(users.getName());
        }

    };
    mUsersList.setAdapter(firebaseRecyclerAdapter);
}


public static class UsersViewHolder extends RecyclerView.ViewHolder
{
    View mView;

    public UsersViewHolder(@NonNull View itemView) {
        super(itemView);

        mView = itemView;

    }
    public void setName(String name)
    {
        TextView userNameView = (TextView) mView.findViewById(R.id.user_name);
        userNameView.setText(name);
    }
}

и это мой код в моем классе Model, которыйПользователи

private String name;
private String image;
private String status;

public Users()
{

}

public Users(String name, String image, String status) {
    this.name = name;
    this.image = image;
    this.status = status;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getImage() {
    return image;
}

public void setImage(String image) {
    this.image = image;
}

public String getStatus() {
    return status;
}

public void setStatus(String status) {
    this.status = status;
}

1 Ответ

0 голосов
/ 27 октября 2018

Вы используете старую версию FirebaseUI, вам нужно удалить mUsersList.setHasFixedSize(true); для отображения данных

...