2013-04-22 71 views
-1

我试图设置一个ListView的项目高度。如何在listview中动态设置物品高度?

我想是这样的:

设置的第一个项目的高度,以10

设定的第二个项目的高度,以20

设置的第三项的高度,以30

设置了四个项目的高度为15

为了实现这个目标,我尝试在getView方法中设置'convertView'的布局enter image description here

我已经试过一些方法(不工作):

  1. // LayoutParams layoutParams = new LayoutParams(); // layoutParams.height = 30; // timeTableCellViewHolder.setLayoutParams(layoutParams);
  2. //timeTableCellViewHolder.getLayoutParams().height = 30; //convertView.getLayoutParams().height = 30; 这个方法返回一个nullPoint例外,视图对象作用似乎没有得到一个高度段。

  3. //timeTableCellViewHolder.setMinimumHeight(50);

这是我的一些代码:

  1. getView BaseAdapter项目的 enter image description here

  2. XML布局内的ListView enter image description here

  3. 活动
  4. 布局包含此列表视图 enter image description here

+0

是否有任何修改顺序要更改高度? – Ankit 2013-04-22 18:09:56

+0

我的身高是由数据源驱动的,当数据源发生变化时,身高应该改变。 – 2013-04-23 02:05:06

回答

0

也许你可以实现getViewTypeCount()和getItemViewType(INT位置)

@Override 
public int getViewTypeCount() { 
    return 4; 
} 

@Override 
public int getItemViewType(int position) { 
    return position % 4; 
} 

希望有所帮助。欢呼声