如何以编程方式滚动到某个特定位置ListView?
例如,我有一个String[] {A,B,C,D....},我需要将顶部可见项设置ListView为我的索引21 String[].
我已经尝试了一段时间来使smoothScrollToPositionFromTop()工作,但它并不总是滚动到正确的位置.
我在一个布局中有一个ListView(有10个项目),旁边有10个按钮,所以我可以滚动到列表中的每个项目.通常当我向后或向前滚动一个位置时它工作正常,但是当我尝试向后或向前滚动超过3个位置时,ListView并不完全在所选位置结束.当它失败时,通常会关闭0.5到1.5个项目,当滚动失败时它不能真正预测.
在notifyDataSetChanged无法在android中工作之后我也检查了smoothScrollToPosition,但是这个修复程序对我不起作用而且我不更改任何数据.
我真的想自动滚动到选定的列表项目,但不是我无法弄清楚如何.有没有人之前有这个问题,知道如何解决它?
我使用这个https://github.com/idunnololz/AnimatedExpandableListView/blob/master/src/com/idunnololz/widgets/AnimatedExpandableListView.java启用动画(扩展和收缩)到默认的android'd expandable listview .
但是,我面临的一个限制是将当前扩展的点击移动到顶部.
我试过了 setSelectionFromTop(groupPosition, 0)
这是一个问题:
- 如何添加动画以使其成为顶部?
- 如何将它带到顶部到特定高度.让我们说从顶部低于10px.
任何指针都会很棒.
注意:解决方案应该适用于sdk 14及更高版本.