android - 通过 Firebase 中的 JAVA 动态克隆/复制和填充 Layout 中的数据 - Android
问题描述
我想通过 Firebase 实时数据库中的 java 克隆/复制一个线性布局。
我的屏幕截图我有一个包含 user_id 的子历史记录,它是孩子等等。我想把它动态地放在这个布局中。
我已经静态复制了 3 次布局,但我想让它成为动态的,与当前用户 ID 的历史表条目的大小相同。
此外,我确实有一个带有 getter setter 和构造函数的类 User。
解决方案
要获取history
节点下的用户 id 并使用它们将User
对象添加到数据库,请使用以下代码:
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference uidRef = rootRef.child("history").child(uid);
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String key = ds.getKey();
DatabaseReference keyRef = rootRef.child("users").child(key);
User user = new User(/* ... */); //Pass data to the constructor
keyRef.setValue(user);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d(TAG, databaseError.getMessage());
}
};
uidRef.addListenerForSingleValueEvent(valueEventListener);
推荐阅读
- javascript - 检查元素的位置是否等于顶部:50%;剩下:50%;
- django - 接受通用密钥对条目的 Django 模型
- javascript - 我怎样才能得到不重复的号码?
- json - how to parse a List of Objects in a json file and display it?
- javascript - Hiding Arrows Based on Horizontal Scroll
- java - Java 语言规范 Java SE 11 版 (JLS SE 11) 中对常量折叠的描述在哪里?
- flutter - Column's MainAxisSize.min and ListView's shrinkWrap: true are not working when inside a container with full height
- laravel - Passing more than one parameters in route messes up my view
- node.js - Is there a way to indefinitely scroll on spotify using puppeteer?
- tensorflow - 如何在 tensorflow 2.3 中处理自定义损失函数中的批量大小