对ListView设置onScrollListener来监听onScroll事件,获取当前的firstVisibleItem,visibleItemCount。对ListView设置OnItemClickListener来监听itemclick事件获取选中的item的索引,调用listView的setSelection(int index)方法重新定位一次listView的选中位置,其中index需要根据itemClick事件获取的索引和scroll事件获取的值来计算。这个没验证过不知道准不准,应该还有更好的方法,求大牛。
追问刚开始我是用firstVisibleItem,lastVisibleItem,visibleItemCount等方法,可是调用setSelection(int index)方法后选中项直接跑到列表顶头了,有没有更简单的设置方法,使默认的选中项停留在列表中间?
非常感谢您的解答!