HashMap в For L oop Java - PullRequest
       8

HashMap в For L oop Java

0 голосов
/ 22 апреля 2020

Изображение1

Изображение2

Изображение3

Я хочу, чтобы дети находились под узлами 19042020111313 & 19042020111506 (см. Рисунок 1) для вставки в качестве дочерних элементов в узел Отгрузка -> 19042020185310 (см. Рисунок 2). Это то, что я пробовал:

cartListRef=FirebaseDatabase.getInstance().getReference();

    cartListRef.child("Cart List").child("Admin View").child(uid).child("Products").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            HashMap<String,Object> shipMap1=new HashMap<>();
            for(DataSnapshot ds:dataSnapshot.getChildren()) {
                String uValue=ds.getValue().toString();
                uValue=uValue.substring(1,uValue.length()-1);

                String[] strSplit=uValue.split(",",8);

                for(String str:strSplit){
                    if(str.contains("=")){
                        String[] str1=str.split("=",8);
                        shipMap1.put(str1[0],str1[1]);
                        cartListRef.child("Shipment").child(productRandomKey).updateChildren(shipMap1).addOnCompleteListener(new OnCompleteListener<Void>() {
                            @Override
                            public void onComplete(@NonNull Task<Void> task) {
                                Toast.makeText(AdminNewOrdersActivity.this,"DONE", Toast.LENGTH_SHORT).show();
                            }
                        });
                    }
                }
            }

Обратите внимание, что в списке узлов есть 2 дочерних узла 19042020111313 и 19042020111506 Список корзин -> Представление администратора -> 1122 -> Продукты (изображение 1). Проблема с приведенным выше кодом заключается в том, что он просто вставляет дочерние элементы последнего узла под узлами Список корзины -> Представление администратора -> 1122 -> Продукты (в данном случае это 19042020111506) в узле Отгрузка -> 19042020185310 (см. рисунок 3).

Как обеспечить, чтобы все дочерние узлы дочерних узлов в списке корзин узлов -> Представление администратора -> 1122 -> Продукты были вставлены в узел отгрузки (в в этом случае 19042020111313 вместе с 19042020111506, который уже вставлен в узел Отгрузка -> 19042020185310).

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...