android ListView中只顯示一個item問題的兩種解決辦法
阿新 • • 發佈:2019-01-28
為什麼會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); } }