Я выбираю массив данных из базы данных Firebase, как показано ниже, и затем я добавляю один элемент в этот список массивов
FirebaseDatabase.getInstance().getReference().child("CategoryWallpaper").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
GenericTypeIndicator<List<WallpaperItem>> t = new GenericTypeIndicator<List<WallpaperItem>>(){};
List<WallpaperItem> yourStringArray = dataSnapshot.getValue(t);
WallpaperItem wallpaperItem = new WallpaperItem();
wallpaperItem.setCategoryId("Love");
wallpaperItem.setViewCount(-200);
wallpaperItem.setImageLink("https://www.google.com");
yourStringArray.add(wallpaperItem);
FirebaseDatabase.getInstance().getReference().child("CategoryWallpaper").setValue(yourStringArray, new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Toast.makeText(MainActivity.this, "Success", Toast.LENGTH_SHORT).show();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
e.printStackTrace();
}
});
}
моя база данных выглядит как ниже
![enter image description here](https://i.stack.imgur.com/oMMi8.png)
После добавления элемента в список массивов я проверил код в режиме отладки, я увидел результат ниже - запись была добавлена в ArrayList с 580
![enter image description here](https://i.stack.imgur.com/3fUjj.png)
, но я получаю сообщение об ошибке ниже строки
FirebaseDatabase.getInstance().getReference().child("CategoryWallpaper").setValue(yourStringArray
Ошибка как ниже
com.google.firebase.database.DatabaseException: Failed to parse node with class class .MainActivity$2$3
at com.google.firebase.database.snapshot.NodeUtilities.NodeFromJSON(com.google.firebase:firebase-database@@16.0.6:103)
at com.google.firebase.database.snapshot.NodeUtilities.NodeFromJSON(com.google.firebase:firebase-database@@16.0.6:28)
at com.google.firebase.database.snapshot.PriorityUtilities.parsePriority(com.google.firebase:firebase-database@@16.0.6:39)
at com.google.firebase.database.DatabaseReference.setValue(com.google.firebase:firebase-database@@16.0.6:207)
at MainActivity$2.onDataChange(MainActivity.java:151)