Появляются двойные квадратные скобки в Firebase JAVA
Мне надо получить ArrayList с базы данных Firebase. Суть такая, создается некое мероприятие и при его создании автоматически добавляется e-mail пользователя в базу данных Firebase. Потом другие пользователи могут туда вступать и к предыдущим e-mailам добавляется текущий. Проблема в том, что первый e-mail создатели отображается и читается корректно в Firebase: "[email protected]" и добавляется в ArrayList. Последующие же имеилы добавляются уже примерно так: "[[[email protected], [email protected]], [email protected]]". Ощущение что элементы списка сливаются в один.
Party currentParty = new Party(name, nums, R.drawable.party_1,location);
//currentParty.setUsersList(firebaseUsers);
usersMails = new ArrayList<>();
usersMails.add(firebaseUser.getEmail());
currentParty.setUsersMails(usersMails);
reference.setValue(currentParty.getUsersMails());
На этом этапе все работает корректно. То есть метод getusersMails() возвращает лист как надо, без двойных квадратных скобок. Вот тут в адаптере уже появляется эта проблема с двойными квадратными скобками:
public void onBindViewHolder(@NonNull PartyAdapter.ViewHolder holder, int position) {
Party party = parties.get(position);
holder.peoples.setText(party.getNumMans());
holder.name.setText(party.getName());
holder.image.setImageResource(party.getImagePath());
holder.btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context, PartyItem.class);
intent.putExtra("imageUrl", party.getImagePath());
intent.putExtra("count", party.getNumMans());
intent.putExtra("nameParty", party.getName());
intent.putExtra("location_party", party.getLocation());
intent.putStringArrayListExtra("partyUsers", party.getUsersMails());
//intent.putExtra("partyPath", party.getPartyPath());
context.startActivity(intent);
}
});
}
Файл Party.java:
package com.example.tusaproject;
import com.google.firebase.auth.FirebaseUser;
import java.util.ArrayList;
import java.util.List;
public class Party {
private String name;
private String numMans;
private int imagePath;
private String location;
private ArrayList <FirebaseUser> usersList;
private ArrayList<String> usersMails;
private String PartyPath;
public String getPartyPath(){
return PartyPath;
}
public void setPartyPath(String path){
PartyPath = path;
}
public ArrayList<String> getUsersMails() {
return this.usersMails;
}
public void setUsersMails(ArrayList<String> usersMails) {
this.usersMails = usersMails;
}
public int getImagePath() {
return imagePath;
}
public void setImagePath(int imagePath) {
this.imagePath = imagePath;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
/*public String getPartyUsers() {
List<String> users = new ArrayList<>();
for(FirebaseUser user: usersList){
users.add(user.getEmail());
}
return users.toString();
}*/
public List<FirebaseUser> getUsersList() {
return usersList;
}
/*public List<String> getUsersNames(){
usersList.
}*/
public void setUsersList(ArrayList<FirebaseUser> usersList) {
this.usersList = usersList;
}
Party(String name, String numMans, int imagePath, String location){
this.name = name;
this.numMans = numMans;
this.imagePath = imagePath;
this.location = location;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumMans() {
return numMans;
}
public void setNumMans(String numMans) {
this.numMans = numMans;
}
}
Вроде все правильно описал, заранее спасибо.