1

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);
    }
}

任何帮助将非常感激。谢谢。

4

1 回答 1

0

很抱歉进行了这样的改进,但在您的项目 -> 首选项 -> Android 中选择了 Android API 8 或更高版本?

于 2012-12-03T07:42:43.120 回答