0
Error
I’m wanting the Android app to take the data from Firebase and show them in a list and this is the error.
com.google.firebase.database.DatabaseException: Failed to convert a value of type java.lang.String to long
What I keep getting by following the documents in an attempt to recover data and turn it into an object.
Archives
person.class
package ep.gismed.gismed.Classes;
public class Pessoa {
private String Nome;
private String Usos;
private String LAT;
private String LONGI;
private String Endereço;
private Long CPF;
private String Medicamentos;
public Pessoa() {
}
public String getNome() {
return Nome;
}
public void setNome(String nome) {
Nome = nome;
}
public String getUsos() {
return Usos;
}
public void setUsos(String usos) {
Usos = usos;
}
public String getLAT() {
return LAT;
}
public void setLAT(String LAT) {
this.LAT = LAT;
}
public String getLONGI() {
return LONGI;
}
public void setLONGI(String LONGI) {
this.LONGI = LONGI;
}
public String getEndereço() {
return Endereço;
}
public void setEndereço(String endereço) {
Endereço = endereço;
}
public Long getCPF() {
return CPF;
}
public void setCPF(Long CPF) {
this.CPF = CPF;
}
public String getMedicamentos() {
return Medicamentos;
}
public void setMedicamentos(String medicamentos) {
Medicamentos = medicamentos;
}
@Override
public String toString() {
return Nome;
}
}
Code in which I receive the error
private void eventDataBase(){
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(pendentes.this);
String emailLog = sharedPreferences.getString("logEmail","");
databaseReference.child("Entregadores/"+emailLog+"/Entregas Pendentes").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
listaPendentes.clear();
for (DataSnapshot objSnapshot:dataSnapshot.getChildren()){
Pessoa p = objSnapshot.getValue(Pessoa.class);
listaPendentes.add(p);
}
arrayAdapterPessoa = new ArrayAdapter<Pessoa>(pendentes.this,
android.R.layout.simple_list_item_1, listaPendentes);
ListView mylist = findViewById(R.id.listaPendentes);
mylist.setAdapter(arrayAdapterPessoa);
mylist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(pendentes.this, ""+i, Toast.LENGTH_SHORT).show();
showPopUp();
}
});
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}