取决于Firebase上的数据 - 构建按钮,包括图像和数据

dun*_*ero 5 firebase firebase-realtime-database

我对编程很陌生,现在看起来已经有一段时间了解 - 但由于我不确定到底在寻找什么,我决定问你.

根据Firebase上的数据,我希望构建一个包含文本和图像的按钮.

例如,我有一个数据库,包括:

User
Max (with the fields: University, Age, City)
Lena (with the fields: University, Age, City)
Run Code Online (Sandbox Code Playgroud)

是否可以使用此数据构建按钮,但仅当用户在数据库中时才可以?因此,有2个用户 - 构建2个按钮,包括所有文本(大学,年龄,城市),如果有3个用户 - 构建3个按钮.

编辑:使用Android Studio

sam*_*mmy 4

我建议使用回收器视图并为回收器视图实现 onClick。这将需要很多代码:

  1. 为回收器视图的每个项目创建 xml

recycler_view_item.xml

  1. 将回收器视图添加到当前活动的 xml 中

3.创建一个类MyUser.java,如下所示:

public class MyUser {

private String University, City, Age;

public User(){}

public User(String University, String City) {
    this.University = University;
    this.City = City;
    this.Age = Age;

}

public String getUniversity() { return University;}

public void setUniversity(String University) {
    this.University = University;
}

public String getCity() {
    return City;
}

public void setCity(String City) {
    this.City = City;
}

public String getAge() {
    return Age;
}

public void setAge(String Age) {
    this.Age = Age;
}
Run Code Online (Sandbox Code Playgroud)

}

  1. 创建适配器和视图持有者类

5.从当前活动的数据库中获取用户详细信息:

private List<Book> userList;
userList = new ArrayList<>();

mRef = database.getReference().child("users");
    mRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

            Iterable<DataSnapshot> bookData = dataSnapshot.getChildren();

            for(DataSnapshot d : bookData){

                MyUser myUser = d.getValue(User.class);
                userList.add(myUser);
                mAdapter.notifyDataSetChanged();
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
Run Code Online (Sandbox Code Playgroud)

使用上下文和 userList 初始化适配器

mAdapter = new MyRecyclerAdapter(getContext(), userList);
Run Code Online (Sandbox Code Playgroud)

我遗漏了很多东西,比如适配器和视图支架。如果你被卡住了,请发表评论