ListView点击事件错乱

我Listview 的每个Item很长,每个item中有若干个标签,标签可以点击折叠和关闭
比如现在有两个item,当前显示第一个item position为0,点击item内的便签都正常
,当getView返回的position是1时,第二个item只显示一点点,但是操作第一个item的点击事件
都在第二个item中有反应,请问这是为什么(ps:取消复用机制也没作用)

你是否使用了ExpandableListView 如果使用了尝试自己设置下高度

public class MyExpanableListView extends ExpandableListView {
    public MyExpanableListView(Context context) {
        super(context);
    }

    public MyExpanableListView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MyExpanableListView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        //重新设置高度
        heightMeasureSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    }
}

更新列表时未清空原有Listview

这里是脏数据的问题,List View自身的View加载机制会导致容易产生脏数据问题,即界面列表展示混乱,子view点击错误等等,解决办法就是重写返回ID值方法,确定滑动到这个view的时候返回该view的ID,避免脏数据的问题。事实上,如果可以建议使用RecyclerView进行界面展示