我有一个ListView,每一行都有一个动态高度。要更改每行的高度,我在getView()
函数(适配器)中添加了以下内容:
firstView.post {
firstView.layoutParams.height = textView.height
firstView.requestLayout()
}
因此,行的高度取决于TextView的高度。一切正常,没有问题。现在,我添加了一个自动的“滚动功能”,这意味着它将自动从第一行滚动到最后一行。它起作用了,但问题出在这里:每次滚动之后,firstView
的高度会改变一会儿,然后返回到正确的高度。我怀疑每次滚动后它都会调用getView()
函数,但是我不知道如何解决这个问题。
更新1:
listView.setItemChecked(position, true)
行可能是每次滚动后高度发生变化的原因。当我删除此行时,高度不会改变得更多,但不会再选择ListView行,因此在滚动时选择每一行很重要。