|
||
|
|
|
|||||||
| 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 |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
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 |
|
|
|
#2
|
||||
|
||||
|
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.
|
|
#3
|
||||
|
||||
|
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); Cita:android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application.....
![]() 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();
}
});
Última edición por vzk91 Día 15/06/13 a las 13:43:10. |
|
#4
|
||||
|
||||
|
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! |
![]() |
Estás aquí
|
||||||
|
||||||