2013年5月20日月曜日

ListViewで無限スクロール (Android)

ListViewで最後までスクロールしたら続きのデータを読み込んで、いくらでもスクロールできるようにするコード例です。実際のところ無限ということはあり得ないのですけど、データがどれだけ大量にあっても対応できるということです。

大量のデータをListViewで表示したければ普通はContentProviderを作ってLoaderManagerを使ってCursorAdapterにCursorをセットして作ればいいのですが、ContentProviderというものは何かと文字列に持っていこうとするので個人的にあまり好んでいません。引数にSQL断片を渡されても、ここから値を取り出して値域のチェックなんてやってられません。アプリ内部で使うなら引数のチェックなんてしないでSQLにぶち込んでしまえ、という考え方もあるかもしれませんが。

そこでContentProviderのかわりにServiceでデータアクセスを提供し、ListViewに常に一定以下のデータだけを持たせて端までスクロールしたら続きのデータをロードする、そしてあふれたデータはリストから削除する、というプログラムを作ってみました。

2011年12月18日日曜日

Storyboardでテーブルビューのセルをカスタマイズする (iOS)

StoryboardではTableViewのセルのカスタマイズも1画面でできるようになりました。

セルのプロトタイプから動的にセルを生成する

カスタムセルのプロトタイプを作って、プログラムで動的にセルの内容を決定するTableViewを作ってみます。

最初に、プロジェクトを作るところから始めます。Master Detail Applicationテンプレートから新規プロジェクトを作ります。