Se puderem me ajudar:
o metodo “listaEventos.size()” me retorna 200, que é o numero de objetos na lista.
Mas depois ao efetuar a função “toLast()” volto a executar o “listaEventos.size()” e ele me retorna 0…
pq a lista sumiu do mapa?
Código completo:
public class Principal extends AppCompatActivity {
List<Evento> listaEventos;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_principal);
listaEventos = new ArrayList<Evento>();
readEventos();
toLast();
}
public void readEventos() {
Ion.with(getBaseContext())
.load(url_read)
.asJsonArray()
.setCallback(new FutureCallback<JsonArray>() {
@Override
public void onCompleted(Exception e, JsonArray result) {
for (int i = 0; i < result.size(); i++) {
JsonObject obj = result.get(i).getAsJsonObject();
Evento evento = new Evento();
evento.setId(obj.get("id").getAsInt());
evento.setUsername(obj.get("username").getAsString());
evento.setEquipamento(obj.get("equipamento").getAsString());
evento.setTurno(obj.get("turno").getAsString());
evento.setArea(obj.get("area").getAsString());
evento.setEvento_data(obj.get("evento_data").getAsString());
evento.setDescricao(obj.get("descricao").getAsString());
evento.setSituacao(obj.get("situacao").getAsInt());
evento.setNota(obj.get("nota").getAsInt());
evento.setHr_cria(obj.get("hr_cria").getAsString());
evento.setHr_ini(obj.get("hr_cria").getAsString());
evento.setHr_fim(obj.get("hr_cria").getAsString());
listaEventos.add(evento);
}
eventoAdapter.notifyDataSetChanged();
System.out.println("lista size "+listaEventos.size());
}
});
}
public void toLast() {
if (listaEventos.size() > 0) {
last = listaEventos.get(listaEventos.size() - 1);
Evento atual = new Evento();
atual.setId(last.getId());
atual.setUsername(last.getUsername());
atual.setEquipamento(last.getEquipamento());
atual.setTurno(last.getTurno());
atual.setArea(last.getArea());
atual.setEvento_data(last.getEvento_data());
atual.setDescricao(last.getDescricao());
atual.setSituacao(last.getSituacao());
atual.setNota(last.getNota());
atual.setHr_cria(last.getHr_cria());
atual.setHr_ini(last.getHr_ini());
atual.setHr_fim(last.getHr_fim());
exibeRegistro();
} else {
Toast.makeText(Principal.this, "Sem registros!", Toast.LENGTH_SHORT).show();
System.out.println("lista size "+listaEventos.size());
}
}