1. 程式人生 > >android ListView中只顯示一個item問題的兩種解決辦法

android ListView中只顯示一個item問題的兩種解決辦法

為什麼會listview中顯示一個item,而本身資料有多個item? 

存在原因有兩點:

1.該listview存在於listview的巢狀下

2.該listview存在於scrollview下或者具有scrollview滑動功能的控制元件下  

解決辦法:1根據item的高度和list的size來計算高度,然後重新在程式碼中對listview進行高度的設定

這種方式網上有很多案例,為了節省時間,這裡不再贅述。

解決辦法:2重寫listview,對其禁止滑動 !

這裡推薦第二種方法;禁止其滑動的重寫listview如下程式碼,然後在相應的佈局中引用即可。 

public class MyListView extends ListView {  
     public MyListView(android.content.Context context,android.util.AttributeSet attrs){    
            super(context, attrs);    
        }    
        /**  
         * 設定不滾動  
         */    
        public void onMeasure(int widthMeasureSpec, int heightMeasureSpec)    
        {    
            int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,    
                    MeasureSpec.AT_MOST);    
            super.onMeasure(widthMeasureSpec, expandSpec);    
        
        }    
}