2010-10-05 110 views
16

我試圖創建一個ListView,它將包含兩種類型的元素:字符串和GridView。
I.e.將兩個字符串和一個GridView放在一個ListView中。將GridView添加到Android中的ListView中

版面看起來應該是這樣的:

  • 字符串項目1.1
  • 字符串項目1.2
  • 字符串項目1.3
  • 字符串項目1.4
  • GridView的項目1個的GridView項目2
    GridView的第3項的GridView項目4
  • 字符串項目2.1
  • 字符串項目2.2
  • 字符串項目2.3
  • 字符串項目2.4

有沒有辦法做到這一點?

按照現在我只能顯示GridView中的第一個項目,它只是ListView中的常規String元素。

的代碼可以在這裏看到:

任何幫助表示讚賞:)

回答

50

要回答我的問題:

基於this answer我創造了這個類,它工作得非常好:

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

我欠你一個六包,這完美的作品! :) – 2013-11-14 23:26:47

+0

+1謝謝你!你救了我的一天!再次感謝好友。 – Sajmon 2014-06-04 18:03:43

+0

非常感謝...你是真正的MVP – DiegoAlt 2014-08-30 17:01:18