記念日表示アプリで使用しているListViewのポイントです。

Adapter

Adapterを使うと、オリジナルの行を表示できるListViewを作成できます。他の方のブログの解説が非常に丁寧で、とても参考になりました。

選択できないリスト

普通のListViewはタップすると選択出来ますが、全く選択できないListViewにする事もできます。ArrayAdapterを継承したMyArrayAdapterクラスに、以下の2つのメソッドを@Overrideさせます。

[java]

@Override

public boolean areAllItemsEnabled() {

return false;

}

@Override

public boolean isEnabled(int position) {

return false;

}

[/java]

表示位置

ListView#setSelectionFromTop(int position, int y)を使用します。positionで先頭に表示したい行のインデックスを指定します。第2引数のyを指定すると、yの分だけ下にずれて表示されます。

[java]

ListView listView = (ListView)findViewById(R.id.list);

listView.setSelectionFromTop(3, 20);

[/java]

Fast Scroll

Fast Scrollは、リストビューを上下にスライドさせたときに、右端に出てくる”つまみ”でできる高速スクロールの事です。つまみをタップしながら上下にずらすと、高速でスライドさせることができます。

layout.xmlのListViewの属性に、”android:fastScrollEnabled“を追加します。

[xml]

<ListView android:id=“@+id/list2”

android:layout_width=“fill_parent”

android:layout_height=“wrap_content”

android:fastScrollEnabled=“true” />

[/xml]

高速化

まだ、やってません。ヒントはこのあたり。