Я пытаюсь извлечь данные из базы данных 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); ПОМОГИТЕ! СПАСИБО!