Исключение из базы данных Firebase «Не удается преобразовать объект типа java .util.ArrayList» - PullRequest
1 голос
/ 30 марта 2020

My Database Structure У меня получено исключение Firebase DatabaseException "Не удается преобразовать объект типа java .util.ArrayList в тип com.example.firebasedeneme.Title"

У меня есть tichs error by getValue ()

a = FirebaseDatabase.getInstance().getReference("Users");
        but.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                a.addListenerForSingleValueEvent(new ValueEventListener() {
                    @Override
                    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                        if(dataSnapshot.child(e.getText().toString()).exists()){
                            String username = e.getText().toString();
                            User user = dataSnapshot.child(username).getValue(User.class);

Там я сохраняю данные

FirebaseDatabase.getInstance().getReference("Users").child(user.getUsername()).setValue(user);

Мой класс пользователя выглядит как

public class User implements Comparable<User>,Serializable{
    private String username;
    private String password;
    private String title;
    private int xp;
    private int score;
    private int level;
    private int image;
    private Stack<Title> titles;
    public User() {}
    public User(String username, String password, String title, int xp, int score, int level, int image, Stack<Title> titles){
        this.username = username;
        this.password = password;
        this.level = level;
        this.score = score;
        this.xp = xp;
        this.title = title;
        this.image = image;
        this.titles = titles;
    }

Мой класс заголовка выглядит как

public class Title {
    private int titleno;
    private String title;
    public Title(int titleno, String title){
        this.title = title;
        this.titleno = titleno;
    }
    public int getTitleno(){
        return this.titleno;
    }
    public String getTitle(){
        return this.title;
    }
}

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 30 марта 2020

Я думаю, это потому, что тип заголовка - Stack, а в Firebase у вас есть массив. Измените свою переменную Заголовок на:

private ArrayList<Title> titles;

Если это не сработает, вы также можете добавить свой класс модели Заголовок к вопросу? Таким образом, мы могли бы помочь лучше.

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