com.google.firebase.database.Databaseexception: Failed to Convert a value of type java.lang.String to long

Asked

Viewed 88 times

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) {

        }
    });

}

My database

DataBase FireBase

1 answer

0

Just change the:

private String Nome;
private String Usos;
private String LAT;
private String LONGI;
private String Endereço;
private Long CPF;
private String Medicamentos;

For:

private String Nome;
private String Usos;
private Float LAT;
private Float LONGI;
private String Endereço;
private String CPF;
private String Medicamentos;

Browser other questions tagged

You are not signed in. Login or sign up in order to post.