我有一个ListActivity,其布局中只有一个ListView。首次显示时,一切正常,所有文本项都立即可见。但是,在后续显示(源自其他活动)中,列表显示从第2个项目开始,然后从第1个项目重绘。最终结果是正确的,但令人讨厌的是不必要的列表移动(整个列表向下移动以显示其第1项)。尝试了许多事情并用Google搜索,但没有成功。
答案 0 :(得分:0)
在列表视图中注册onPreDraw侦听器。在onPreDraw函数回调中,检查是否
listView.firstVisiblePosition() == 0
如果是则返回true。 如果没有那么做
listView.setSelection(0)
并返回false,以便listview再次绘制自己。这次选择了第一个项目。