Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 14/06/13, 15:34:04
Array

[xs_avatar]
vzk91 vzk91 no está en línea
Miembro del foro
 
Fecha de registro: nov 2012
Mensajes: 199
Modelo de smartphone: OnePlus 6T
Tu operador: Movistar
Problema con boton dentro de ListView

Hola,

Vereis yo tengo una clase llamada Main, en esta clase tengo un listview. El ListView es personalizado, por lo que tambien tengo la clase MainAdapter que se encarga de crear el adapter para el ListView.

Dentro del getView() de mi MainAdapter aparte de los tipicos TextView e imagen, tengo un boton para cada elemento del ListView. El boton funciona correctamente cuando le llamo pero necesito que al terminar las operaciones mande un mensaje a la clase Main en forma de toast, alertdialog.... cualquier tipo de notificación visual.

Esto es posible ? porque por mas que intento con los toast siempre de da error de contexto, y con los alertdialog no me permite crearlos ni sobre Main ni sobre MAinAdapter....


un saludo
Responder Con Cita


  #2  
Viejo 14/06/13, 15:54:52
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
Debería funcionarte pasando como parámetro el Context (que será la Activity en sí) al MainAdapter y usando luego eso que has pasado como parámetro como Context del Toast.
Responder Con Cita
  #3  
Viejo 15/06/13, 13:34:25
Array

[xs_avatar]
vzk91 vzk91 no está en línea
Miembro del foro
 
Fecha de registro: nov 2012
Mensajes: 199
Modelo de smartphone: OnePlus 6T
Tu operador: Movistar
Yo desde la clase main ( la que recibe el mensaje ) llamo al adaptador pasandole como parametro el contexto con getApplicationContext().

Y en el adaptater despues de recogerla, creo el Alert dialog asi:

Código:
AlertDialog.Builder dialog = new AlertDialog.Builder(context);
Pero nada, me da error el sigueinte error:

 Cita:
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application.....
Ademas al problema este se suma que el listener para el boton que va en el listview, el propio listener del listview a dejado de funcionar, es decir que si no toco en el boton no hace nada.... (Este es el codigo del listener del boton dentro del adapter)


Código:
Button bRechazar = (Button) vi.findViewById(R.id.bReachazar);
        
        bRechazar.setOnClickListener(new View.OnClickListener() {

            public void onClick(View view) {

                AlertDialog.Builder dialog = new AlertDialog.Builder(context);
                 
                dialog.setMessage("MENSAJE DE CONFIRMACION");
                dialog.setCancelable(false);
                dialog.setPositiveButton("Si", new DialogInterface.OnClickListener() {
                 
                  @Override
                  public void onClick(DialogInterface dialog, int which) {
                      
                         // PROCESO SI ACEPTA


                  }
                });
                dialog.setNegativeButton("No", new DialogInterface.OnClickListener() {
                 
                   @Override
                   public void onClick(DialogInterface dialog, int which) {
                      dialog.cancel();
                   }
                });
                dialog.show();
            

            }
        });
EDITO: El problema del listener del listview ya esta solucionado, no se porque el boton habia cogido la propiedad focusable y era lo que me estaba molestando.

Última edición por vzk91 Día 15/06/13 a las 13:43:10.
Responder Con Cita
  #4  
Viejo 16/06/13, 13:27:14
Array

[xs_avatar]
vzk91 vzk91 no está en línea
Miembro del foro
 
Fecha de registro: nov 2012
Mensajes: 199
Modelo de smartphone: OnePlus 6T
Tu operador: Movistar
Ya he solucionado el problema. Desde el main a la hora de llamar al adapter y pasarle el context en vez de usar getApplicationContext() simplemente use this y funciona correcto.

Un comportamiento raro a mi parecer, ya que los toast si funcionaban correctamente con getApplicationContext().

un saludo!
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 22:22:30 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /