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 13/11/15, 13:50:11
Array

[xs_avatar]
Joakin60 Joakin60 no está en línea
Miembro del foro
 
Fecha de registro: oct 2015
Mensajes: 64
Tu operador: Movistar

Pasar variable con intent de doPositiveClick a la actividad

Tengo el siguiente problema y no se solucionarlo a pesar de haberle dado bastantes vuelta:
Recibo la variable suma de un DialogFragment de la siguiente manera:
public void doPositiveClick(String suma){
}
Y quiero pasarla a la actividad principal así:
public void doPositiveClick(String suma){
Bundle dist = new Bundle();
dist.putString("distancias", suma);
Intent i = new Intent(this, GuiameActivityItems.class);
i.putExtras(dist);
startActivity(i);
}

Donde la recojo de la siguiente manera:

Bundle dist = this.getIntent().getExtras();
totaldistancias = dist.getString("distancias");
if(dist.getString("distancias") != null){
totaldistancias = dist.getString("distancias");
}
Y compruebo si pasa la variable:

Toast.makeText(this, "Parametros devolvió: " + totaldistancias, Toast.LENGTH_LONG).show();
El Toast me devuelve correctamente el valor de totaldistancias, pero acto seguido me sale el alert de se ha detenido la aplicación, y no se a que se puede deber.

Última edición por Joakin60 Día 13/11/15 a las 13:52:45.
Responder Con Cita


  #2  
Viejo 13/11/15, 14:48:10
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

¿Y qué excepción te da? Si la app se cierra tendrás en el logcat el motivo
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
  #3  
Viejo 17/11/15, 11:07:37
Array

[xs_avatar]
Joakin60 Joakin60 no está en línea
Miembro del foro
 
Fecha de registro: oct 2015
Mensajes: 64
Tu operador: Movistar

El problema no es el intent es la url

Disculpa la tardanza en contestar he estado muy liado de trabajo, el problema no es el intent. Te digo como está planteada la aplicación y dónde está el error. Tengo una actividad con un ListView y dos botones de filtro, uno por el tipo de establecimiento (por ejemplo Restaurante, Bar, etc) y otro por la distancia.
Cuando carga el ListView enviamos una url determinada para recoger los datos del servidor y cuando filtramos por tipo de establecimiento abrimos un AlertDialog que nos va a enviar a otra url, hasta ahí bien. El problema surge cuando filtro por distancia, que abre otro AlertDialog que me pasa la distancia. El problema surge que al pasar solo la distancia y no una url de destino da error, el tema a solucionar es cómo puedo filtrar por distancia sin tener que pasar una nueva url, sino utilizar la que estoy utilizando en ese momento, ya sea la general o la del filtro de tipos.
Gracias de antemano por tu interés y ayuda.
Responder Con Cita
  #4  
Viejo 17/11/15, 13:37:00
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

 Cita: Originalmente Escrito por Joakin60 Ver Mensaje
El problema surge que al pasar solo la distancia y no una url de destino da error, el tema a solucionar es cómo puedo filtrar por distancia sin tener que pasar una nueva url, sino utilizar la que estoy utilizando en ese momento, ya sea la general o la del filtro de tipos.
En otras palabras, necesitas que la aplicación tenga estado y recuerde lo que se ha hecho antes.

Sin conocer los entresijos, ¿no te basta con almacenar en una variable de clase los datos que quieras tener si sólo te pasan la distancia?
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
Gracias de parte de:
  #5  
Viejo 17/11/15, 15:35:20
Array

[xs_avatar]
Joakin60 Joakin60 no está en línea
Miembro del foro
 
Fecha de registro: oct 2015
Mensajes: 64
Tu operador: Movistar

static String url;

En eso estaba, pero me está dando problemas, aunque parece que va bien enfocado por ahí. Me tengo que poner más despacio para ver dónde hay ciertos fallos, hoy y mañana estoy muy liado, pero lo miraré a ratos. En cuanto lo sepa te lo digo.
Gracias de nuevo.
Responder Con Cita
  #6  
Viejo 17/11/15, 19:35:57
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

Pues sí, míralo con calma que parece más un fallo de diseño que de programación propiamente.

Que un AlertDialog determine la URL a la que conectarse suena bastante mal. Normalmente las alert son para preguntar algo concreto (sí, no), seleccionar algo de un conjunto, meter una fecha o un nombre, etc. Si luego tienes que conectarte a algún sitio eso lo debería determinar una lógica de control superior e independiente de cómo presentes las cosas en pantalla.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
  #7  
Viejo 10/12/15, 11:34:26
Array

[xs_avatar]
Joakin60 Joakin60 no está en línea
Miembro del foro
 
Fecha de registro: oct 2015
Mensajes: 64
Tu operador: Movistar

Efectivamente es un fallo de diseño

Lo he vuelto a replantear y tienes razón era un fallo de diseño bastante chapucero. Lo he puesto en orden y funciona bien. El problema lo vi al hacer un debug y al pasar por el bucle:
int success = json.getInt(TAG_SUCCESS);
if (success == 1) {
...
lo saltaba por lo que no me seleccionaba nada en la base de datos y era un problema de que me faltaba pasar una variable.
Muchas gracias por tu paciencia. ahora tengo cierto jaleo con php, con lo que me pasaré a hacer una consulta en ese foro.
Responder Con Cita
Respuesta

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



Hora actual: 01:49:38 (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 / 邮件联系 /