インテリセンスは SmoothScrollToPosition を表示せず、それを挿入すると、「メソッド SmoothScrollToPosition(int) は ListView 型に対して定義されていません」というエラーが表示されます。
これが私の実装です:
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);
}
}
どんな助けでも大歓迎です。ありがとう。