2010-10-05 17 views
16

Sto cercando di creare un ListView che consisterà in due tipi di elementi: String e GridView.
I.e. mettendo entrambe le stringhe e un GridView all'interno di un singolo ListView.Aggiungere un GridView a un ListView in Android

La disposizione dovrebbe essere simile a questa:

  • String punto 1.1
  • String punto 1.2
  • String Articolo 1.3
  • String punto 1.4
  • GridView Articolo 1 GridView Articolo 2
    Articolo GridView 3 GridView Articolo 4
  • String Item 2,1
  • String Item 2,2
  • String Item 2,3
  • String Articolo 2.4

C'è un modo per farlo?

Come ora posso solo mostrare il primo elemento in GridView e agisce proprio come un normale elemento String in ListView.

Il codice può essere vista qui:

Ogni aiuto è apprezzato :)

risposta

50

Per rispondere alla mia domanda:

Sulla base di this answer ho creato questa classe che funziona molto bene:

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

ti devo una confezione da sei, questo funziona perfettamente! :) –

+0

+1 Grazie amico! Mi hai salvato la giornata! Grazie ancora amico. – Sajmon

+0

grazie mille ... Sei il vero MVP – DiegoAlt

Problemi correlati