我想在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;
}
答案 0 :(得分:0)
如果您只想在运行时隐藏/显示节目,请尝试使用ExpandableListView
小部件。这是一个很好的教程:tutorial
答案 1 :(得分:0)
感谢您的回复!我将尝试使用ExpandableListView。但是现在我使用以下代码自己解决了这个问题:
rowView.setVisibility(View.GONE);
rowView.setMinimumHeight(0);
textView.setVisibility(View.GONE);
imageView.setVisibility(View.GONE);