Met4licのあけくれ帖

日常とか、勉強したこととかいろいろ書いていくつもりのブログです

Androidのお勉強「ListViewとAdapter」

今回は使用頻度の高いであろう、ListViewとAdapterについて、
調べていったことをメモしておきます。

参考サイトはこちら↓
【Android】AdapterとかListViewとかLayoutInflaterとか - 初心者ハンター
この方の考え方にはとても感銘を受けました。
最初のうちは想像しながら物事を理解していたのが、いつしかそういったことをしなくなってました。もう一度初心に戻ってこういう気持ちを大切にしようと思いました。

まずAdapterって?

さてさて、C++は学校でやったし、確かにAdapterクラスとかいうのも習ったけど、その時はもはやちんぷんかんぷんだったから、今になってあの時もっと調べておけば、と思うとは思いもしなかった。。。字面的になんかつなげるものっぽい…

なにやら読んでみると「ListView」と「データ」を紐づける役割なのだそう!

コンストラクタの種類はたくさんあって

  • ArrayAdapter(Context context,int resource, object )
  • ArrayAdapter(Context context,int resource,List object)
  • ArrayAdapter(Context context,int resource,int textViewResourceId, object)
  • ArrayAdapter(Context context,int resource,int textViewResourceId,List object)

などがある。

これを用いるとListViewで表示したいobjectとレイアウトファイルであるresourceが結び付けられる…らしい。

代表的なメソッド

  • public T getItem(int position)

 →positionに相当するitemを呼び出す。
  任意の型のItemを呼び出せる。

  • public long getItemId(int position)

 →positionに相当するitemのIDを返す。

  • public int getPosition(T item)

 →任意のitemのポジションを返す。

  • public View getView(int position, View cinvertView, ViewGroup parent)

 →ちょっと日本語で説明するのがよくわかんない。。
  なんか雰囲気特定のポジションのViewを持ってくるのか…?
  ちなみにパラメータの説明として
   position→itemのposition
   convertView→再利用するView
   parent→処理を終えて突っ込まれる先のViewGroup(コンテナ?)

参考はリファレンス
http://developer.android.com/reference/android/widget/ArrayAdapter.html

ちなみにここも見ました↓
ListView の基本的な使い方 - Android 開発入門

なんかうまい表現が見当たらなかったので、
ご指摘ある方はコメント欄でお願いいたします。

終わります。