不能不定个数,只能固定高度,如果需要固定为4个item,那么你可以算出来每个item的高度X4 ,再将listView的高度=item的高度X4。
1、配置文件里ListView高度设置为 warp_content
2、在代码中加载ListView数据,
3、数据加载完成后(setAdapter或者notifyDataSetChanged之后),重新计算item高度,然后item X 4 = listView的高度
listView.setAdapter(adapter);
View listItem = adapter.getView(0,null,listView);
listItem.measure(0, 0);
int totalHei = (listItem.getMeasuredHeight()+listView.getDividerHeight() ) * 4;
listView.getLayoutparams().height = totalHei;
仅供参考,没测试。你可以试试。。。
你将你的list用一个父容器,例如Linearlayout包含起来,然后将这个父容器的高度设为固定(例如大约你的list一行的4倍高度),这样不就行了?