Сбой приложения при извлечении целого числа из Firebase в список просмотра - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь извлечь данные из базы данных Firebase в список просмотра. Приложение вылетает, когда данные числовые, и работает нормально, когда текст. Это мой класс адаптера

public class User {
private String name;
private String email;

public User() {
}

public User(String name, String email) {
    this.name = name;
    this.email = email;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

}

Это моя основная деятельность.

listView = (ListView)findViewById(R.id.listView);
    database = FirebaseDatabase.getInstance();
    ref = database.getReference().child("User");
    adapter = new SimpleAdapter(this,list,R.layout.user_info,
            new String[]{"name","email"},
            new int[]{R.id.userInfo,R.id.usermail});
    ref.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            for (DataSnapshot ds: dataSnapshot.getChildren())
            {
                user = ds.getValue(User.class);
                HashMap<String, String> item = new HashMap<>();
                item.put("name",user.getName());
                item.put("email",user.getEmail());
                list.add(item);
            }
            listView.setAdapter(adapter);
        }

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

        }
    });

Приложение работает нормально, если данные в Firebase имеют текстовый тип, но когда я данные тип это число, то он падает. logcat показывает com.google.firebase.database.DatabaseException: не удалось преобразовать значение типа java .lang.Long в строку в user = ds.getValue (User.class); ПОМОГИТЕ! СПАСИБО!

...