0

我有一个 ListActivity,其布局中有一个 ListView。当第一次显示一切正常时,所有文本项都立即可见。但是,在随后的显示中(源自其他活动),列表从第 2 项开始显示,然后从第 1 项重新绘制自身。最终结果是正确的,但令人讨厌的是不必要的列表移动(整个列表向下移动以显示其第一项)。尝试了很多东西并在谷歌上搜索,但没有成功。

4

1 回答 1

0

在列表视图上注册 onPreDraw 监听器。在 onPreDraw 函数回调中,检查是否

listView.firstVisiblePosition() == 0

如果是则返回true。如果不是那么做

listView.setSelection(0) 

并返回 false,以便列表视图再次绘制自己。这次选择了第一个项目。

于 2015-02-17T16:57:10.933 回答