ボタンを押してリストビューをスクロールしたい。上下に2つのボタンを使用しています。上ボタンを押すとリストビューが1行上に移動し、下ボタンを押すとリストビューが1行下に移動します。
私のリストビューはこのリンクに基づいています。ここでスクロールビューの良い例を見つけました。今私の質問は、スクロールビューの代わりにリストビューを使用する必要があり、1行ずつ増減する必要があります。アンドロイドが初めてなので、この問題を解決するのを手伝ってください。前もって感謝します。
ボタンを押してリストビューをスクロールしたい。上下に2つのボタンを使用しています。上ボタンを押すとリストビューが1行上に移動し、下ボタンを押すとリストビューが1行下に移動します。
私のリストビューはこのリンクに基づいています。ここでスクロールビューの良い例を見つけました。今私の質問は、スクロールビューの代わりにリストビューを使用する必要があり、1行ずつ増減する必要があります。アンドロイドが初めてなので、この問題を解決するのを手伝ってください。前もって感謝します。
次のいずれかを試すことができます。
直接スクロールの場合:
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 つのケースを処理する必要があります。つまり、上部のビューの半分または一部しか表示されない場合です。
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);
滑らかなデュレーションでスクロール
getListView().smoothScrollToPositionFromTop(position,offset,duration);
パラメータ position -> スクロールする位置
オフセット---->スクロールが終了したときのビューの上部からの位置のピクセル単位の望ましい距離
duration-> スクロールに使用するミリ秒数
注: API 11 以降。