//记录当前展开项的索引
1、private int expandPosition = -1;
2、getview设置点击事件
holder.cbStretch.setOnClickListener(new OnLvItemClickListener(position));
//如果点击的是当前项,则将其展开,否则将其隐藏
if(expandPosition == position){
holder.llWaterinfo.setVisibility(View.VISIBLE);
}else{
holder.llWaterinfo.setVisibility(View.GONE);
}
3、自定义点击事件
class OnLvItemClickListener implements View.OnClickListener {
private int position;
public OnLvItemClickListener(int position) {
super();
this.position = position;
}
@Override
public void onClick(View v) {
//如果当前项为展开,则将其置为-1,目的是为了让其隐藏,如果当前项为隐藏,则将当前位置设置给全局变量,让其展开,这也就是借助于中间变量实现布局的展开与隐藏
if(expandPosition == position){
expandPosition = -1;
}else{
expandPosition = position;
}
notifyDataSetChanged();
}
}
listview item伸缩显示或隐藏
最新推荐文章于 2021-09-22 18:19:50 发布