1

インテリセンスは 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);
    }
}

どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

0

そのような改良で申し訳ありませんが、プロジェクト->設定->AndroidでAndroidAPI 8以降を選択しましたか?

于 2012-12-03T07:42:43.120 に答える