Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android – Actualizar datos en un AlertDialog?

Por lo tanto, 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. No puedo encontrar una manera de hacer esto. Hasta ahora, he intentado conseguir el ListView del AlertDialog, pero no puedo parecer conseguir .setAdapter para trabajar. ¿Es este el enfoque correcto, o hay una mejor manera de hacer esto?

  • NullPointerException en IabHelper.queryPurchases
  • Requiere el proyecto Gradle desde otro directorio
  • Enviar acción multimedia en android
  • Creación de un efecto de rociado en el tacto extraer en android
  • Compruebe si DAY_OF_WEEK es entre el lunes y el viernes
  • Android ¿qué está mal con openFileOutput?
  • Android: capitalize no funciona
  • Enviar puntuaciones a las tablas de clasificación de Google Play Games y mostrar nuevos rangos
  • 2 Solutions collect form web for “Android – Actualizar datos en un AlertDialog?”

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

    En lugar de usar setItems, intente usar el método setAdapter() y pase un ArrayAdapter que se ha inicializado con los datos de su Array of String . A continuación, cuando sepa que los datos han cambiado, puede utilizar getListView() para obtener su objeto View y desde allí llamar a getAdapter() para que ahora esté trabajando directamente con el dataset. Puede borrarlo y volver a inicializarlo si lo desea, o simplemente agregar / quitar los elementos como desee. Desde el objeto adaptador, si llama a notifyDataSetChanged() , debería desencadenar un nuevo dibujo utilizando el nuevo conjunto de datos que acaba de suministrar al adaptador.

    Espero que te ayude. Avíseme si no lo hace.

    DSC

    Si usted es como mí y usted quisiera utilizar el adaptador del defecto por ejemplo para los artículos multichoice, entonces hay también una manera.

    Al igual que con cualquier otro adaptador acaba de actualizar el objeto de matriz de cadena, obtener adaptador de la instancia de diálogo, convertirlo en el adaptador adecuado e invalidarlo.

     AlertDialog.Builder b = new AlertDialog.Builder(); b.setItems(MyStringArray, MyListener); AlertDialog instance = b.create(); instance.show(); // Later when you need to update MyStringArray[0] = "puf"; ListView list = instance.getListView(); // Now according to whether you used cursor or array for supplying items to the builder // you have to cast adapter to either CursorAdapter or ArrayAdapter ArrayAdapter adapter = (ArrayAdapter)list.getAdapter(); adapter.notifyDataSetChanged(); 

    Puedes encontrar mas aqui.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.