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 08/11/14, 15:41:24
Avatar de milup26
milup26 milup26 no está en línea
Usuario novato en la web
Mensajes: 21
 
Fecha de registro: nov 2014
Mensajes: 21
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
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
Avatar de rafaxplayer
rafaxplayer rafaxplayer no está en línea
Miembro del foro
Mensajes: 224
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Aqui tienes un buen ejemplo:

http://javatechig.com/android/listvi...der-in-android
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 10/11/14, 20:25:48
Avatar de milup26
milup26 milup26 no está en línea
Usuario novato en la web
Mensajes: 21
 
Fecha de registro: nov 2014
Mensajes: 21
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
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
Avatar de Walnow
Walnow Walnow no está en línea
Usuario novato en la web
Mensajes: 15
 
Fecha de registro: nov 2014
Mensajes: 15
Modelo de smartphone: Galaxy S4
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
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
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
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
Avatar de milup26
milup26 milup26 no está en línea
Usuario novato en la web
Mensajes: 21
 
Fecha de registro: nov 2014
Mensajes: 21
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
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   HTCMania > Todo sobre Android > Programación y Desarrollo para Android

Herramientas

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: 17:53:53 (GMT +2)

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