Android: ¿Actualizar datos en un AlertDialog?

Entonces, si creo un AlertDialog así:

AlertDialog.Builder b = new AlertDialog.Builder();
b.setItems(MyStringArray, MyListener);
b.create().show();

Y luego quiero actualizar los elementos de la lista, es decir, MyStringArray ha cambiado para tener más o menos elementos. Parece que no puedo encontrar una manera de hacer esto. Hasta ahora, he intentado obtener ListView desde AlertDialog, pero parece que no puedo hacer que .setAdapter funcione. ¿Es este el enfoque correcto, o hay una mejor manera de hacerlo?

Respuesta 1

No lo he probado yo mismo, pero de todas las otras aplicaciones que he creado, estoy bastante seguro de que esto resolverá su problema.

En lugar de utilizar setItems, intente utilizar el setAdapter()método y pasar en una ArrayAdapterque ha sido inicializado con los datos de su Arrayde String. Luego, cuando sepa que los datos han cambiado, puede usarlos getListView()para obtener su objeto Ver y desde allí llamar getAdapter()para que ahora esté trabajando directamente con el conjunto de datos. Puede borrarlo y reiniciarlo si lo desea, o simplemente agregar / eliminar los elementos que desee. Desde el objeto adaptador, si lo llama notifyDataSetChanged(), debería desencadenar un nuevo sorteo utilizando el nuevo conjunto de datos que acaba de proporcionar al adaptador.

Espero que te ayude. Avísame si no es así.

DSC

Respuesta: 2

Digamos que tengo una clase, que implementa un método (addThings ()). Sirve como base de un árbol de subclases: ParentClass {protected void addThings () {map.add (thing1); ...

Estoy tratando de mostrar una imagen en mi aplicación ... picture = new JLabel ("No hay archivos seleccionados"); picture.setFont (picture.getFont (). deriveFont (Font.ITALIC)); picture.setHorizontalAlignment (...

Hola, estoy teniendo problemas con una aplicación de Android que estoy creando a partir de un tutorial en línea. Sigue fallando cuando intento ejecutarla con la excepción mencionada. Realmente agradecería algo de ayuda sobre cómo ...

Tengo las siguientes 2 clases: clase Animal {public static void staticMethod (int i) {System.out.println ("Animal: static -" + i); } public void instanceMethod (int i) {...