【问题标题】:Clonning/Duplicating and filling data in Layout dynamically through JAVA from Firebase - Android通过 Firebase 中的 JAVA 动态克隆/复制和填充布局中的数据 - Android
【发布时间】:2019-03-27 06:52:16
【问题描述】:

我想通过 Firebase reatime-database 中的 java 克隆/复制一个 linear_layout。

我有一个包含 user_id 和它的孩子等等的孩子历史的截图。我想把它动态地放在这个布局中。

我已经静态复制了 3 次布局,但我想让它成为动态的,与当前用户 ID 的历史表条目的大小相同。

我也有一个带有 getter setter 和构造函数的类 User。

【问题讨论】:

    标签: android firebase android-layout listview firebase-realtime-database


    【解决方案1】:

    要获取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);
    

    【讨论】:

    • 嗨哈菲兹!你有没有试过我上面的解决方案,它有效吗?
    • 嗨,Alex Mamo,是的,这很有帮助,但我的主要问题是如何将它动态地放入重复的 XML 中,尽管您的回答有助于从 firebase 检索数据。
    • 很高兴听到这个消息:) 您的问题中没有具体说明“动态重复 XML”,但这听起来基本上是另一个问题。为了遵守本社区的规则,请再次提出新问题,以便我和其他用户可以帮助您。
    • “通过 JAVA 从 Firebase 动态克隆/复制和填充布局中的数据 - Android” 这就是问题,你真的认为你回答了我的重点吗?好的,如果社区只允许问题,那么应该在一个场景中回答,然后帮助我重复我的 xml 布局,正如我在问题中提到的那样。
    • 您应该根据答案中的信息自行尝试,如果出现其他问题,请提出另一个问题。
    猜你喜欢
    • 2020-04-01
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    相关资源
    最近更新 更多