Problem to display my Firebase data in a ListView

0

What I'm trying to show is a list of my employees which are in the database within "users".

This is my main class:

public class employeesActivity extends AppCompatActivity {

DatabaseReference databaseReference;
ListView listViewEmpleados;

List<Empleados> empleadosList;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_verempleados);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

    databaseReference = FirebaseDatabase.getInstance().getReference().child("users");

    listViewEmpleados = (ListView) findViewById(R.id.listViewEmpleados);

    empleadosList = new ArrayList<>();

}

@Override
protected void onStart() {
    super.onStart();

    databaseReference.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

            empleadosList.clear();

            for(DataSnapshot empleadosSnapshot : dataSnapshot.getChildren()){
                Empleados empleados = empleadosSnapshot.getValue(Empleados.class);

                empleadosList.add(empleados);
            }

            EmpleadosList empleadosAdapter = new EmpleadosList(verempleadosActivity.this, empleadosList);
            listViewEmpleados.setAdapter(empleadosAdapter);

        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
}

}

My Class Employees:

package com.example.slash.serviceconect;

public class Employees {

String empleadosNombre;
String empleadosTipo;
String empleadosId;

public Empleados(){

}

public Empleados(String empleadosNombre, String empleadosTipo, String EmpleadosId) {
    this.empleadosNombre = empleadosNombre;
    this.empleadosTipo = empleadosTipo;
    this.empleadosId = empleadosId;
}

public String getEmpleadosNombre() {

    return empleadosNombre;
}

public String getEmpleadosTipo() {

    return empleadosTipo;
}

public String getEmpleadosId() {

    return empleadosId;
}

}

My adapter:

public class EmployeesList extends ArrayAdapter {

private Activity context;
List<Empleados> empleadosList;

public EmpleadosList(Activity context, List<Empleados> empleadosList){
    super(context, R.layout.list_verempleados, empleadosList);
    this.context = context;
    this.empleadosList = empleadosList;
}

@NonNull
@Override
public View getView(int position, View convertView, @NonNull ViewGroup parent) {
    LayoutInflater inflater = context.getLayoutInflater();

    View listViewItem = inflater.inflate(R.layout.list_verempleados, null, true);

    TextView textViewNombre = (TextView) listViewItem.findViewById(R.id.nombre);
    TextView textViewTipo = (TextView) listViewItem.findViewById(R.id.tipo);

    Empleados empleados = empleadosList.get(position);

    textViewNombre.setText(empleados.getEmpleadosNombre());
    textViewTipo.setText(empleados.getEmpleadosTipo());

    return listViewItem;

}

}

    
asked by Emmanuel Altamirano 13.04.2018 в 05:59
source

0 answers