5

ボタンを押してリストビューをスクロールしたい。上下に2つのボタンを使用しています。上ボタンを押すとリストビューが1行上に移動し、下ボタンを押すとリストビューが1行下に移動します。

私のリストビューはこのリンクに基づいています。ここでスクロールビューの良い例を見つけました。今私の質問は、スクロールビューの代わりにリストビューを使用する必要があり、1行ずつ増減する必要があります。アンドロイドが初めてなので、この問題を解決するのを手伝ってください。前もって感謝します。

4

3 に答える 3

3

次のいずれかを試すことができます。

直接スクロールの場合:

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. 

}
});

ただし、1 つのケースを処理する必要があります。つまり、上部のビューの半分または一部しか表示されない場合です。

于 2013-09-04T12:48:58.847 に答える
2

IDE の提案も確認しましたか? ;)

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);
于 2013-09-04T12:38:36.047 に答える
0

滑らかなデュレーションでスクロール

getListView().smoothScrollToPositionFromTop(position,offset,duration);

パラメータ position -> スクロールする位置

オフセット---->スクロールが終了したときのビューの上部からの位置のピクセル単位の望ましい距離

duration-> スクロールに使用するミリ秒数

注: API 11 以降。

于 2015-05-13T06:59:03.163 に答える