ArrayList对象的值发生变化

时间:2014-04-30 15:42:26

标签: android arraylist

我不得不来这里寻求你的帮助,因为我开始生气了。我将尽力解释它:

我查询数据库,它工作正常。 有了这些结果,我需要创建一个对象并将其添加到该Object的arraylist。

Cita cita = new Cita(); ArrayList citas;

我检查每个“Cita”并且它具有正确的值,即使我在循环期间从ArrayList获得Cita。当我想访问arraylist的具体索引时,问题就出现了。不关心我需要什么索引,它只返回最后一个索引的值,或者每个对象都具有arraylist的最后一个对象的值。

这就是我从日志中得到的东西

  • E / HORACITAAAAAA(11331):11:0:00.000000
  • E / EMPRESAAAA(11331):Aki
  • E / HORACITAAAAAA(11331):1:0:00.000000
  • E / EMPRESAAAA(11331):Edite formacion
  • E / HORACITAAAAAA(11331):4:13:00.000000
  • E / EMPRESAAAA(11331):秋
  • E / HORACITAAAAAA(11331):6:56:00.000000
  • E / EMPRESAAAA(11331):grefa
  • E / HORADESPUESSSSSS(11331):6:56:00.000000
  • E / HORADESPUESSSSSS(11331):6:56:00.000000
  • E / HORADESPUESSSSSS(11331):6:56:00.000000
  • E / HORADESPUESSSSSS(11331):6:56:00.000000

感谢大家的支持,你做了一项了不起的工作。

@Override
    protected void onPostExecute(Boolean result) {
        // TODO Auto-generated method stub

        citas = new ArrayList<Cita>(jArray.length());

        for (int i=0; i < jArray.length(); i++){
            JSONObject jsonObject;
            try {
                //crea un objeto json con un objeto del array json
                jsonObject = jArray.getJSONObject(i);

                //recoge el valor del campo ID_CITA
                id_cita=jsonObject.getInt("ID_CITA");
                //recoge el valor del campo ID_EMPRESA
                id_empresa=jsonObject.getInt("ID_EMPRESA");
                //recoge el valor del campo HORA_CITA
                hora_formato = jsonObject.getString("HORA_CITA");

                empresa = new Empresa(id_empresa,jsonObject.getString("NOMBRE"),jsonObject.getString("CIF"),jsonObject.getString("DIRECCION"),jsonObject.getString("POBLACION"));


                fecha.setHoraFecha(hora_formato);


                cita = new Cita(itinerario,fecha,empresa);
                cita.setId(id_cita);


                citas.add(cita);

                Log.e("HORACITAAAAAA", citas.get(i).getHora());
                Log.e("EMPRESAAAA", citas.get(i).getEmpresa().getNombre());

                if (i==3){
                    for(int u = 0 ; u < citas.size(); u++){
                        Log.e("HORADESPUESSSSSS", citas.get(u).getHora());

                    }
                }


            } catch (JSONException e) {
                e.printStackTrace();
                Log.e("ERROR => ", "Error en el POSTEXECUTE");
            }   
        }


        actualizaListCitas(citas);
    }   

1 个答案:

答案 0 :(得分:1)

看起来你在“cita”的所有实例之间共享“fecha”对象。