2010-10-05 16 views
16

Próbuję utworzyć ListView, który składa się z dwóch typów elementów: łańcuchów i GridView.
tj. umieszczanie obu łańcuchów i widoku GridView w jednym widoku listy.Dodaj GridView do listy ViewView w Androidzie

powinien wyglądać mniej więcej tak:

  • String Item 1,1
  • String Element 1,2
  • String Element 1,3
  • String Element 1,4
  • GridView Element 1 GridView pozycja 2
    GridView pozycja 3 GridView Element 4
  • łańcucha znaków 2,1
  • łańcucha znaków 2,2
  • łańcucha znaków 2,3
  • łańcucha znaków 2,4

Czy jest jakiś sposób to zrobić?

Jak na razie mogę wyświetlić tylko pierwszy element w GridView i działa on jak zwykły element String w ListView.

Kod można obejrzeć tu:

Każda pomoc jest mile widziana :)

Odpowiedz

50

Aby odpowiedzieć na moje własne pytanie:

podstawie this answer Stworzyłem tę klasę, która działa bardzo dobrze:

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

Zawdzięczam ci sześciopak, to działa idealnie! :) –

+0

+1 Dzięki! Uratowałeś mój dzień! Jeszcze raz dziękuję kolego. – Sajmon

+0

bardzo dziękuję ... Jesteś prawdziwym MVP – DiegoAlt

Powiązane problemy