戌印-INUJIRUSHI- (Androidあれこれ)

Androidのプログラミングをメインにしてます。記事に貼られたソースコードはダブルクリックすることで行番号をはずしてコピーすることができます。

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
08

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ListView の指定位置をスクリーン上端に表示する

ListView で指定した位置をスクリーンの上端に表示させる方法。

ListView#setSelection(int position)
ListView#setSelectionFromTop(int position, int y)

position は先頭に表示したい行のインデックス。
y は指定したピクセル分、下にずらします。

ListView#setSelection(position) は内部で ListView#setSelectionFromTop(position, 0) を呼んでいるだけです。

ListView を再生成するときに元の位置を保持するには以下のように使います。
// リストビューを取得する
ListView listView = (ListView) findViewById(R.id.listView);

// 現在のスクリーン上端に表示されているインデックスを取得する
int position = listView.getFirstVisiblePosition();

// アイテムの位置を取得する
int y = 0;
if (listView.getChildCount() > 0) {
y = listView.getChildAt(0).getTop();
}

// 表示位置を設定する
listView.setSelectionFromTop(position, y);
スポンサーサイト

Comments

Leave a Comment


Body
プロフィール

とむ・やむくん

Author:とむ・やむくん
管理人について

Windows 7 / 64bit
Eclipse 4.2 Juno (日本語パッチ済)

スポンサーサイト
最新トラックバック
検索フォーム
ブロとも申請フォーム
QRコード
QR
Twitter
2013/01/04 19:00 カウント開始

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。