2010-10-05 8 views
16

Estoy tratando de crear un ListView que constará de dos tipos de elementos: Cadenas y un GridView.
I.e. poniendo ambas cadenas y un GridView dentro de un único ListView.Agregar un GridView a un ListView en Android

La disposición debería ser algo como esto:

  • Cadena artículo 1.1
  • Cadena Punto 1.2
  • Cadena Punto 1.3
  • Cadena Punto 1.4
  • artículo GridView 1 GridView artículo 2
    GridView artículo 3 GridView artículo 4
  • cadena Item 2,1
  • cadena Item 2,2
  • cadena Item 2,3
  • cadena Item 2,4

¿Hay alguna manera de hacer esto?

Como por ahora solo puedo mostrar el primer elemento en el GridView, y actúa como un elemento de cadena normal en el ListView.

El código se puede ver aquí:

Cualquier ayuda se agradece :)

Respuesta

50

Para responder a mi propia pregunta:

Basado en this answer creé esta clase que funciona muy bien:

public class NonScrollableGridView extends GridView { 
    public NonScrollableGridView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 

    @Override 
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
     // Do not use the highest two bits of Integer.MAX_VALUE because they are 
     // reserved for the MeasureSpec mode 
     int heightSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); 
     super.onMeasure(widthMeasureSpec, heightSpec); 
     getLayoutParams().height = getMeasuredHeight(); 
    } 
} 
+8

Te debo un paquete de seis, esto funciona perfectamente! :) –

+0

+1 Gracias hombre! ¡Salvaste mi día! Gracias otra vez amigo. – Sajmon

+0

muchas gracias ... Usted es el verdadero MVP – DiegoAlt

Cuestiones relacionadas