Home Menu

Menu



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  
Viejo 10/08/13, 15:01:04
Avatar de Bongiovi
Bongiovi Bongiovi no está en línea
Miembro del foro
Mensajes: 186
 
Fecha de registro: oct 2012
Localización: España
Mensajes: 186
Modelo de smartphone: Motorola Moto G , BQ Maxwell 2 Lite
Tu operador: Simyo
Mencionado: 0 comentarios
Tagged: 0 hilos
Problema con Spinner y distintos Adapters.

Tengo un Spinner (bueno, son dos, pero muestran el mismo contenido). El adapter que rellena el Spinner varía en función de la selección que se hace en un ListView en una Activity anterior.

Lo que hago es pasar el String que se ha seleccionado en la ListView en un Intent, y después esto:

Código:
if (prenda == "Calzado (Hombre)")
		{
			paises1Adapt = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, paisesCalzHom);
			paises2Adapt = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, paisesCalzHom);
		}
		else
		{
			paises1Adapt = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, paisesGenArray);
			paises2Adapt = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, paisesGenArray);
		}
El "if then else" está reducido a la mínima expresión hasta que funcione bien
El caso es que siempre se muestra el contenido del "else". He comprado que se pasa bien la información en el intent, parece que el problema está en el if-then-else.
Solución?

Saludos y gracias.
Responder Con Cita


  #2  
Viejo 10/08/13, 15:20:20
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Es un error muy típico usar == para comparar Strings, ya que el resto de lenguajes parecidos a Java (como C#) lo admiten.

Usar == sólo vale para objetos primitivos (aquellos que su primera letra es minúscula, como por ejemplo int, float, boolean...). Para el resto de objetos debes usar "compareTo" o "equals"

En tu caso sería:

if (prenda.equals("Calzado (Hombre)")
Responder Con Cita
  #3  
Viejo 10/08/13, 15:23:37
Avatar de Bongiovi
Bongiovi Bongiovi no está en línea
Miembro del foro
Mensajes: 186
 
Fecha de registro: oct 2012
Localización: España
Mensajes: 186
Modelo de smartphone: Motorola Moto G , BQ Maxwell 2 Lite
Tu operador: Simyo
Mencionado: 0 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por kriogeN Ver Mensaje
Es un error muy típico usar == para comparar Strings, ya que el resto de lenguajes parecidos a Java (como C#) lo admiten.

Usar == sólo vale para objetos primitivos (aquellos que su primera letra es minúscula, como por ejemplo int, float, boolean...). Para el resto de objetos debes usar "compareTo" o "equals"

En tu caso sería:

if (prenda.equals("Calzado (Hombre)")
A mi me han enseñado C, Java lo he aprendido por mi cuenta. Estas cosas se me pasan casi siempre

Muchas gracias por la respuesta, un saludo!
Responder Con Cita
Respuesta

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


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 23:17:49 (GMT +1)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007