|
||
|
|
|
|||||||
| 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
|
||||
|
||||
|
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. |
|
|
|
#2
|
||||
|
||||
|
¿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!
|
|
#3
|
||||
|
||||
|
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. |
|
#4
|
||||
|
||||
|
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.
![]() 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!
|
| Gracias de parte de: | ||
|
#5
|
||||
|
||||
|
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. |
|
#6
|
||||
|
||||
|
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!
|
|
#7
|
||||
|
||||
|
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. |
![]() |
Estás aquí
|
||||||
|
||||||