Клонирование / Дублирование и заполнение данных в Layout динамически через JAVA из Firebase - Android - PullRequest
0 голосов
/ 23 октября 2018

Я хочу клонировать / продублировать linear_layout через Java из базы данных Firebase.

enter image description here

У меня есть скриншот, у которого есть дочерняя история, котораясодержит user_id и его потомки и так далее.Я хочу поместить его динамически в этот макет.

enter image description here

Я статически скопировал макет три раза, но я хочу сделать его динамичным, так же, какразмер записей таблицы истории с текущим идентификатором пользователя.

Также у меня есть класс User с установщиком и конструктором получения.

1 Ответ

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

Чтобы получить идентификаторы пользователей в узле history и использовать их для добавления объекта 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...