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 08/11/14, 15:41:24
Array

[xs_avatar]
milup26 milup26 no está en línea
Usuario novato en la web
 
Fecha de registro: nov 2014
Mensajes: 21
Tu operador: Movistar

Personalizar un listview.

Hola.

Tengo problemillas para entender la creación del adaptador personalizado, he leído varios tutoriales y el último el de esta web, dicha web la he visto en un post en el foro.

Digamos que hasta donde es poner, imagen y texto lo entiendo; pero quiero ir más lejos poniendo secciones y títulos según que cuadros del listview, pero estoy algo atascado.

Digamos que quiero crear una listview así:

Título (como si fuera una cabecera:,pero sin usar el addheader(),así solo me añade lo que es la cabecera encima del primer elemento)
-elemento 1
-elemento 2
Otro título para el esto de elementos:
-elemento 3
-elemento 4

Más o menos es como el estilo del listview del menú lateral del Gmail, o el estilo del google play music también es interesante.

Entonces a ver, en el tutorial mencionado arriba o en otros similares lo que hace es usar:

LayoutInflater mInflater = (LayoutInflater)context.getSystemService(Activity. LAYOUT_INFLATER_SERVICE);

Y después inflar el xml con los elementos a mostrar, como comentaba con una imagen y un texto lo entiendo. Pero para hacer lo que quiero, debo crear otros xml con la forma deseada o van en el mismo xml?.
Lo de crear otro xml lo he hecho , y declaré otro LayoutInflater con el xml con el texto para los títulos de cabecera pero de esa forma no funciona.

Qué me aconsejáis?

Un saludo y gracias de antemano.
Responder Con Cita


  #2  
Viejo 08/11/14, 20:08:25
Array

[xs_avatar]
rafaxplayer rafaxplayer no está en línea
Miembro del foro
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 10/11/14, 20:25:48
Array

[xs_avatar]
milup26 milup26 no está en línea
Usuario novato en la web
 
Fecha de registro: nov 2014
Mensajes: 21
Tu operador: Movistar

Gracias. Hay unas cosas que no termino de entender en el tutorial. El método
Código:
@Override
public int getItemViewType(int position) 
{
return sectionHeader.contains(position) ? TYPE_SEPARATOR : TYPE_ITEM;
}
Qué quiere decir la interrogación y los tipos entre los dos puntos?.Según he leído el TreeSet ordena pero no termino de entender la lógica del asunto y el valor que retorna.

Un saludo.
Responder Con Cita
  #4  
Viejo 13/11/14, 12:12:14
Array

[xs_avatar]
Walnow Walnow no está en línea
Usuario novato en la web
 
Fecha de registro: nov 2014
Mensajes: 15
Modelo de smartphone: Galaxy S4
Tu operador: Movistar
Si lo que quieres hacer es agrupar los registros por alguna caracteristica, lo que puedes hacer es unas ExpandableListView. El adapter tiene que heredar de BaseExpandableListAdapter. El funcionamiento es muy parecido al BaseAdapter pero con la diferencia que tiene metodos para el grupo y los mismos para el detalle. También puedes usar un tipo de layout para el grupo y otro layout para el detalle.
Responder Con Cita
Gracias de parte de:
  #5  
Viejo 13/11/14, 14:10:09
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
 Cita: Originalmente Escrito por milup26 Ver Mensaje
Gracias. Hay unas cosas que no termino de entender en el tutorial. El método
Código:
@Override
public int getItemViewType(int position) 
{
return sectionHeader.contains(position) ? TYPE_SEPARATOR : TYPE_ITEM;
}
Qué quiere decir la interrogación y los tipos entre los dos puntos?.Según he leído el TreeSet ordena pero no termino de entender la lógica del asunto y el valor que retorna.

Un saludo.
Es una operación llamada ternaria, viene de la época de C y era una de las muchas formas que tenía C de escribir código sucio, aunque reconozco que desde que me he habituado a usarlo no puedo vivir sin él.

La operación lo que hace es devolver el elemento a la derecha del ? si lo que está a la izquierda es true, en caso de que sea false devuelve lo que está a la derecha del :

En este caso, si sectionHeader.contains(position) es true devuelve TYPE_SEPARATOR, y si es false devuelve TYPE_ITEM
Responder Con Cita
Gracias de parte de:
  #6  
Viejo 13/11/14, 15:49:23
Array

[xs_avatar]
milup26 milup26 no está en línea
Usuario novato en la web
 
Fecha de registro: nov 2014
Mensajes: 21
Tu operador: Movistar

 Cita: Originalmente Escrito por kriogeN Ver Mensaje
Es una operación llamada ternaria, viene de la época de C y era una de las muchas formas que tenía C de escribir código sucio, aunque reconozco que desde que me he habituado a usarlo no puedo vivir sin él.

La operación lo que hace es devolver el elemento a la derecha del ? si lo que está a la izquierda es true, en caso de que sea false devuelve lo que está a la derecha del :

En este caso, si sectionHeader.contains(position) es true devuelve TYPE_SEPARATOR, y si es false devuelve TYPE_ITEM
Muchas gracias por la explicación.Buscaba por Google y no encontraba nada, es más, el buscador me reconocía mis búsquedas como preguntas .

Un saludo.
Responder Con Cita
Respuesta

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



Hora actual: 04:04:45 (GMT +2)



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

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