- 一般情况下计算手动listview高度就可以
上代码
private void setListViewHight(Adapter adapter) {
View view = adapter.getView(0, null, list);
view.measure(0, 0);
int h = (view.getMeasuredHeight() + 2) * adapter.getCount();
ViewGroup.LayoutParams layoutParams = orderList.getLayoutParams();
layoutParams.height = h;
orderList.setLayoutParams(layoutParams);
}- 但是我使用的时候在某些机型上却没有效果无奈只能自己想办法
private void setData() {
for (int i = 0; i < list.size(); i++) {
lay.addView(getView(list.get(i)));//lay是一个线性布局
}}
private View getView(Data bean) {
View view = LayoutInflater.from(this).inflate(R.layout.item, null);
TextView name = (TextView) view.findViewById(R.id.name);
name.setText(bean.getName());
reurn view;
}
-此方法只适用少量数据的时候 如果你有更好的方法请留言告诉我 谢谢