【Android】ListViewまとめ - 備忘録
スポンサーリンク

 

 

ListViewは情報を一覧表示できるビュー。リスト全体の制御のみ行う。

Adapterは、セルを生成してデータを表示する。セルと、セルに表示するデータの制御のみ行う。

Adapterを指定することでデータを外部から取得し、ListViewに表示できる。

 

 

Adapterクラス

 

getView(int i, View view, ViewGroup viewGroup)

リストビューのセルのデータが必要になるたびに呼ばれ、表示するビューを戻り値として返す。

int i
リストビューのセルの位置を受け取る(行番号。何番目のセルか)

View view
すでに作成済みのセルを表すビューを受け取る。(最初はセルが作られてないからnull。再利用されだしたらnullじゃない)
例えば画面に3個のセルが表示される場合、最初にnullで3回呼ばれ、その後スクロールでセルが必要になれば再利用される。

 

 

LayoutInflater

LayoutInflaterクラスはxmlファイルからビューを生成する機能を提供。

from()でインスタンス生成。

inflate()でxmlファイルからビューを生成。第一引数にセル用のビュー。

 

ViewHolder

ViewHolderクラスはビューオブジェクトを保持するためのもの。findViewById()は重い処理だから毎回行いたくない。オブジェクトを持たせておけばfindViewById()で毎回viewを取得しなくていい。

一度取得したviewはviewHolderに入れ(viewHolder.date.setText(formatDate);)、セル用のviewのtagのなかに保存(view.setTag(viewHolder);)してる。

 

アダプターとリストビューを連携

リストビューがのあるアクティビティでこのようなコードを書く

 

 

 

setOnItemClickListener()

ListViewのセルをタップした時のリスナー

公式

 

 

setOnItemLongClickListener()

リストビューのセルを長押しすると呼ばれる。

 

 

 

Swift(iOS)が学べるオンラインスクール ランキング
CodeCamp
CodeCamp
7〜24時まで授業可能で働きながらでも学べる!!
料金
講師の質
コースの種類
転職サポート
ポイント1エンジニア経験2年以上のベテラン講師によるオンライン授業
講師は全員が現役のエンジニアで、他のスクールによく見られるアルバイト講師ではありません。マンツーマン指導で自分のレベルにあったカリキュラムが組め、満足度も高いです。また、自社開発企業への転職指導にも定評があります。

ポイント2無料レッスン体験&無料受講相談で事前に話が聞ける
事前にレッスンを体験して授業の雰囲気や学習ペースを確認できます。またエンジニア転職を目指す方にはどのコースが向いているかなどが聞けるカウンセリング(受講相談)も無料。エンジニアの生の声が聞けるので自分が働き出した時のことをイメージできます。

TechAcademy

授業型ではなく自習型なので自分のペースで学べる
料金
講師の質
コースの種類
転職サポート
ポイント1自習スタイルでチャット質問は何回でも無料
自分の分からないところを質問するスタイルなのでわかるところはサクッと、わからないところはじっくりと、無駄なく学べます。チャットの質問が無料なので、料金を気にせず何回でも聞けます。また、メンターがつくのでカウンセリングで学習の進捗やモチベーションの管理もしてくれます。
ポイント21週間の無料体験と無料カウンセリング、安心の返金制度も
無料体験の期間は1週間もあり、納得してから契約できるので安心です。事前の無料カウンセリングでは、その人にあったアドバイス等をもらうことができるので気軽に活用しよう。転職保障コースの場合、転職できなかったら全額返金!!
侍エンジニア塾
プログラミングスクールの老舗NO.1
料金
講師の質
コースの種類
転職サポート
ポイント1歴史があるからノウハウも豊富
日本で初めてオンラインのマンツーマンレッスン指導を導入した実績十分のスクール。講師も現役エンジニアでメンタリングもあるため転職のサポートも手厚く、面接対策や自己PRのフィードバックまで対応してくれます。

ポイント2転職成功率94.1%、挫折率8%
コースによっては転職成功で受講料が0円に!!  絶対にエンジニアになりたいという意思があれば超低額で転職できます。事前の無料体験で相談も可能なため、まずは話だけ聞いてみるのもあり。

おすすめの記事