2012-06-07 81 views
1

實際上它不是ListView,而是ExpandableListView,但它並不重要。通常我會這樣做:在下面添加一個LinearLayout ListView

<ScrollView > 

<LinearLayout> 
    <ExpandableListView ... /> 
    <TextView ... />   
</LinearLayout> 

</ScrollView> 

..但我讀過它很耗費ListView裏面的ScrollView。我試圖通過修改ExpandListAdapter解決這個(getChildView()):

public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View view, ViewGroup parent) { 
     if(isLastChild){ 
      LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE); 
      view = inflater.inflate(R.layout.extra_info_bottom, null); 

     } 
     else{ 
       //get normal item view 
     } 
     return view; 
} 

但這樣一來,我只能追加孩子的團體。我怎樣才能將LinearLayout追加到任何組的底部?

+0

檢查你的包中導入了哪個'LayoutParams'? –

+0

其實我因爲語法錯誤而得到了以前的錯誤。請查看我的回答(最後一段)! –

回答

1

只需添加以下代碼即可在最後一個listview塊添加線性佈局。

​​

其中listfooter是您可以定義您的佈局controlls的xml文件。

+0

謝謝!我之前嘗試過,但我不知道爲什麼它沒有奏效。 –

0

試圖找出什麼對象確實會導致此錯誤,並使用myObject.getClass().getName()來查找它是真實的className。所以你可以看到你真的膨脹了什麼對象,並可能解決問題。

+0

其實我因爲語法錯誤而得到了以前的錯誤。請查看我的回答(最後一段)! –

1

是否有任何理由,你想要在滾動內的列表視圖?是沒有意義的佈局做一些事情,如:

<LinearLayout> 
    <ExpandableListView ... /> 
    <ScrollView > 
     <LinearLayout> 
     <TextView ... /> 
     </LinearLayout>  
    </ScrollView> 
</LinearLayout> 

有了這個解決方案,您可以使用在擴展列表和滾動型的權重來定義你想要多大的屏幕使用的列表以及如何非常適合底部的線性佈局。

如果你想讓你的線性佈局出現在列表的最底部,我建議你使用腳註而不是getView的東西。

無論如何,以幫助確切的問題,我需要看看你想膨脹的xml定義。

希望它有幫助!

相關問題