为什么我的回收者视图未显示任何内容

时间:2020-05-24 13:05:14

标签: android firebase-realtime-database android-recyclerview

我正试图向所有用户展示。它甚至没有显示一个。我不知道为什么,但是我的适配器不起作用,我什至还尝试了adapter.startlistening()方法。但不知道放在哪里。有人可以帮我吗?

public class AllUsersActivity extends AppCompatActivity {
    private RecyclerView allUsersList;
    private DatabaseReference databaseReference;
    private FirebaseRecyclerOptions<Users> options;
    private FirebaseRecyclerAdapter firebaseRecyclerAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_all_users);
        allUsersList = (RecyclerView)findViewById(R.id.users_list);
        allUsersList.setHasFixedSize(true);
        allUsersList.setLayoutManager(new LinearLayoutManager(this));

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

    }    
    @Override
    protected void onStart() {
        super.onStart();
        options = new FirebaseRecyclerOptions.Builder<Users>()
                .setQuery(databaseReference, Users.class)
                .build();

        firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Users, UsersViewHolder>(options) {

            @Override
            public UsersViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
                View view  = LayoutInflater.from(parent.getContext())
                        .inflate(R.layout.single_user_layout, parent,false);
                return new UsersViewHolder(view);
            }

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

        allUsersList.setAdapter(firebaseRecyclerAdapter);
    }
}

1 个答案:

答案 0 :(得分:0)

假设这是数据库:

library(dplyr)
list_fac <- lst(factor_vec1, factor_vec2)
list_fac <- purrr::map(list_fac, recode, a = "Apple", b = "Banana")

确保您的班级list2env的字段与数据库中的字段完全相同:

list2env(list_fac, .GlobalEnv)

也在Users | |---------UID1 ---name ---image ---..... ----------UID2 ---name ---image ---...... 中添加以下行:

Users

直接在此行下:

class Users{

//these fields must be typed exactly like in the database (watch out for upper case and lower case)

private String name;
private String image;
.........
.........

//also must have a constructor for all fields

//also must have getters and setters for all fields

}