getListView().setSelection(int);
实现平滑滚动:
getListView().smoothScrollToPosition(int);
示例代码:
public View.OnClickListener onChk = new View.OnClickListener() {
public void onClick(View v) {
int index = list.getFirstVisiblePosition();
getListView().smoothScrollToPosition(index+1); // For increment.
}
});
然而,你需要处理一种情况,即如果顶部只有一半或部分视图可见。
ListView lv = (ListView) findViewById(R.id.myListView);
// to scroll to a given position
lv.scrollTo(int x, int y);
// to scroll by a given number of dp
lv.scrollBy(int x, int y);
平滑滚动持续时间
getListView().smoothScrollToPositionFromTop(position,offset,duration);
参数 position -> 要滚动到的位置
offset ----> 滚动完成后,位置距视图顶部的期望像素距离
duration-> 滚动所需的毫秒数
注意:从API 11开始。