只能向Firebase添加一项。
当我在添加第一个项目后尝试添加一个新项目时,它只会更新我的第一个项目上的孩子。没有添加第二项。 每次我单击保存时,都应该添加一个新项目。 但这不是正在发生的事情。
有人可以帮我吗?
活动:
btnsavewishlist.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SaveWishlist();
}
});
}
private void SaveWishlist() {
Calendar calFordDate = Calendar.getInstance();
SimpleDateFormat currentDate = new SimpleDateFormat("dd-MMMM-yyyy");
saveCurrentDate = currentDate.format(calFordDate.getTime());
postRandomName = saveCurrentDate;
final String wishlist = spwishlisttitle.getSelectedItem().toString().trim();
usersRef.child(current_user_id).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
String userFirstname = dataSnapshot.child("fornavn").getValue().toString();
String userProfileImage = dataSnapshot.child("profilbilde").getValue().toString();
HashMap postMap = new HashMap();
postMap.put("uid", current_user_id);
postMap.put("date", saveCurrentDate);
postMap.put("title", wishlist);
postMap.put("profilbilde", userProfileImage);
postMap.put("fornavn", userFirstname);
wishListRef.child(current_user_id).child(current_user_id + postRandomName).updateChildren(postMap)
.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
SendUserToMainActivity();
Toast.makeText(WishListActivity.this, "Ønskeliste opprettet", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(WishListActivity.this, "Error ocurred", Toast.LENGTH_SHORT).show();
}
}
});
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
答案 0 :(得分:2)
您的 postRandomName 变量不会全天更改。因此对于同一用户,const selectedRow = this.gridApi.getSelectedRows();
this.gridApi.updateRowData({ remove: selectedRow });
将保持不变,直到第二天。因此您需要一个更好的postRandomName随机值。您可以只使用current_user_id + postRandomName
,它将为您提供更好的随机字符串。