intellisense 不显示 smoothScrollToPosition,当我将其放入时,我收到一条错误消息,指出“ListView 类型的方法 smoothScrollToPosition(int) 未定义”。
这是我的实现:
public void onItemClick(AdapterView<?> adapterView, View view, int index, long id) {
debug("item "+index+" clicked");
listView.smoothScrollToPosition(index);
}
我通过 Eclipse 中的 SDK Manager 安装了 API 8 和 16,我的目标是 API 8-16。
为了解决这个问题,我创建了一种手动滚动列表的方法,但它也不起作用。这些数字都是正确的,但列表仅在 i 的最后一次迭代中移动。
[更新功能]
private void animateItem(View view, int targetY, int duration) throws Exception{
int sleepTime = duration/10;
int position = listView.getPositionForView(view);
int viewTop = view.getTop();
debug("animating item "+position+" from "+view.getTop()+" to "+targetY+" for "+duration+" millis");;
for (int i=1; i<=10; i++){
int y = (viewTop-targetY)/2;
debug("... animation progress - top:"+viewTop+" distance:"+(viewTop-targetY)+" y:"+y);
listView.setSelectionFromTop(position, y);
viewTop -= y;
Thread.sleep(sleepTime);
}
}
任何帮助将非常感激。谢谢。