ListView中的高度不同

时间:2014-08-25 14:05:46

标签: listview height

我想在ListView中的不同行中有不同的高度。特别是我想隐藏行(高度= 0),然后再次显示它们。我已经尝试过setHeight和setMinimumHeight,但是我无法让它工作。如果有人能帮助我,我会很高兴。

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View rowView = null;

    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    rowView = inflater.inflate(R.layout.rowlayout, parent, false);

    TextView textView = (TextView) rowView.findViewById(R.id.label);
    ImageView imageView = (ImageView) rowView.findViewById(R.id.icon);

    ViewHolder holder = new ViewHolder();
    holder.t = textView;
    holder.i = imageView;
    rowView.setTag(holder);

    ViewHolder tag = (ViewHolder) rowView.getTag();

    tag.t.setText(values.get(position).getName() + " ");

    if (values.get(position).isSelected()) {
        tag.i.setImageResource(R.drawable.exclamation);

    } 

    rowView.setBackgroundColor(color);

    return rowView;
}

2 个答案:

答案 0 :(得分:0)

如果您只想在运行时隐藏/显示节目,请尝试使用ExpandableListView小部件。这是一个很好的教程:tutorial

答案 1 :(得分:0)

感谢您的回复!我将尝试使用ExpandableListView。但是现在我使用以下代码自己解决了这个问题:

        rowView.setVisibility(View.GONE);
        rowView.setMinimumHeight(0);
        textView.setVisibility(View.GONE);
        imageView.setVisibility(View.GONE);