EDIT 2:

Hice resolver mi problema, pero no sé cómo:S yo me estaba moviendo mi fragmentos de código un poco de todo, de repente funcionó. Debe de haber hecho algo en el orden equivocado, pero su extraño, comprobado muchas veces. Gracias por la ayuda, y siento no poder publicar una respuesta 😉

Hola.

Tengo una vista de lista que estoy tratando de actualizar para que yo cuando puedo añadir un elemento a
el subyacente de la lista de matriz.

Aquí está el fragmento de código:

private void addEvent() {
    arrlEvents.add( event );
    adptEvents.notifyDataSetChanged();
    updateSaveFile();
    filterList();
}

La arrlEvents es el subyacente arraylist con los eventos, la mensajería instantánea y la adición de un evento, tratando de actualización de la vista de lista con notifyDataSetChanged(), pero no funciona. Alguien puede ayudar?

Gracias por tu tiempo:)

EDITAR:
Aquí está el código fuente para el adaptador:

private ArrayAdapter<Event> adptEvents;
adptEvents = new ArrayAdapter<Event>( EventCalendar.this, R.layout.list_items, arrlEvents );
  • Sería de gran ayuda si iba a publicar el código fuente de tu adaptador.
  • hecho ahora, por favor, échale un vistazo
InformationsquelleAutor lands | 2010-10-18

2 Comentarios

  1. 2

    He visto que a veces es sólo azar no notificar el adaptador.

    Trate de usar adptEvents como protegidas o público en un ámbito global.

    He encontrado que cuando eso no funciona. Puede volver a configurar el adaptador de nuevo, basta con sustituir la notifyDataSetChanged() para:

    adptEvents = new ArrayAdapter<Event>( EventCalendar.this, R.layout.list_items, arrlEvents );

    Edición:

    Heres un código de snipper de una Aplicación escribí que funciona.

    Definición de clase:

    public class ClassName extends ListActivity implements AdapterView.OnItemSelectedListener {

    Variable Global:

    CustomAdapter adapter;

    en OnCreate():

    adapter = new CustomAdapter(this,R.layout.layout_name,dataSet);
    setListAdapter(adapter);

    Cada vez que lo necesito para notificar

    adapter.notifyDataSetChanged();
    • No funciona, gracias de todos modos:)
    • Editado mi respuesta, ya que el código funciona, al menos en los emuladores de Api 7 & 8 y un nexus one 2.2 runing
    • Esto es lo que terminó con, excepto los implementos parte. La elección de éste como el derecho de respuesta 😉
  2. 2

    No hay ningún vínculo persistente entre arrlEvents y la adptEvents…. el último simplemente inicializa la misma con los elementos de la antigua. adptEvents no tiene forma de saber cuando arrlEvents cambios.

    Para agregar nuevos elementos debe llamar adptEvents.agregar(evento) y no se moleste en llamar a notifyDataSetChanged() de forma explícita, ya que ArrayAdapter.agregar() hace que automáticamente por usted.

    • gracias por la sugerencia
    • Se trata de una respuesta de un consejo de verdad… 🙂

Dejar respuesta

Please enter your comment!
Please enter your name here