Как исправить старые значения внутри дочернего узла, который продолжает перезаписываться новым значением? - PullRequest
1 голос
/ 02 мая 2019

Я новичок в Android и Fire Base, поэтому первое, что внутри Fire Base, я могу добавить новое значение внутри моего ребенка ("post") без проблем, но это происходит в 0-40 секунд, когда пользователь попробуйте добавить новое сообщение. Сообщение старого пользователя перезаписывается сообщением нового пользователя, и то же самое происходит с комментариями, когда пользователь пытается опубликовать комментарий внутри сообщения.

private void SavingPostInformationToDatabase()
{  UsersRef.child(current_user_id).addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            if (dataSnapshot.exists()) {
                String userFullName = dataSnapshot.child("fullname").getValue().toString();
                String UserName = dataSnapshot.child("username").getValue().toString();
                String userProfileImage = dataSnapshot.child("profileimage").getValue().toString();

                HashMap postsMap = new HashMap();
                postsMap.put("uid", current_user_id);
                postsMap.put("date", saveCurrentDate);
                postsMap.put("time", saveCurrentTime);
                postsMap.put("description", Description);
                postsMap.put("postimage", downloadUrl);
                postsMap.put("profileimage", userProfileImage);
                postsMap.put("fullname", userFullName);
                postsMap.put("username", UserName);
                postsMap.put("counter", CountPost);

                PostsRef.child(current_user_id + postRandomName).updateChildren(postsMap)
                        .addOnCompleteListener(new OnCompleteListener() {
                            @Override
                            public void onComplete(@NonNull Task task) {
                                if (task.isSuccessful()) {
                                    SendUserToMainActivity();
                                    Toast.makeText(PostRecipeActivity.this, "New Post is updated successfully.", Toast.LENGTH_SHORT).show();
                                    loadingBar.dismiss();
                                } else {
                                    Toast.makeText(PostRecipeActivity.this, "Error Occured while updating your post.", Toast.LENGTH_SHORT).show();
                                    loadingBar.dismiss();
                                }
                            }
                        });
            }
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

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