Kotlinでリスト表示!RecyclerViewの基本構成を初心者向けに解説
生徒
「Androidアプリでリストを画面に表示したいんですけど、どうすればいいですか?」
先生
「Androidアプリでは、RecyclerView(リサイクラービュー)という仕組みを使うと、効率的にリスト表示ができますよ。」
生徒
「リサイクルって何ですか?ゴミのリサイクルですか?」
先生
「面白い質問ですね!実は似たような意味です。リストの部品(アイテム)を使い回して、アプリを軽くする仕組みなんですよ。」
生徒
「なるほど…もっと詳しく教えてください!」
先生
「では、KotlinとRecyclerViewの基本的な構成を順番に見ていきましょう。」
1. RecyclerViewとは?Kotlinでの役割を知ろう
RecyclerView(リサイクラービュー)は、KotlinでAndroidアプリを開発する際に、複数のデータを一覧表示するためのビュー(部品)です。例えば、買い物リストやメッセージ一覧など、縦に並んだ情報を表示したいときに使います。
名前に「リサイクル」とある通り、一度表示したアイテムを再利用して、メモリのムダ遣いを防ぎ、スムーズなスクロールを実現しています。
2. RecyclerViewを使うために必要な3つの部品
RecyclerViewを使うためには、次の3つの要素が必要です。
- ① RecyclerView本体:リストを表示する入れ物です。
- ② Adapter(アダプター):データと画面をつなぐ役割をします。
- ③ ViewHolder(ビューホルダー):表示用の箱で、1つ1つのリストのアイテムに使います。
この3つが組み合わさって、リスト表示が完成します。次のセクションでは、Kotlinで実際に書いてみましょう。
3. KotlinでRecyclerViewを使う手順
KotlinでRecyclerViewを使うには、以下のような手順で作っていきます。
- RecyclerViewをレイアウトに追加する
- データを用意する
- Adapterクラスを作る
- ViewHolderを定義する
- ActivityでRecyclerViewを設定する
4. レイアウトにRecyclerViewを配置する
まず、リストを表示したい画面のXMLレイアウトファイルに、RecyclerViewを追加します。
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
5. 表示したいデータを用意しよう
次に、リストに表示したいデータを作ります。今回は、簡単な文字のリストにしましょう。
val itemList = listOf("りんご", "みかん", "バナナ", "いちご", "ぶどう")
6. AdapterとViewHolderを作成する
Adapterはデータと画面をつなぐ役割です。ViewHolderは、1つ1つの表示枠の設計図です。以下のように作ります。
class ItemAdapter(private val itemList: List<String>) :
RecyclerView.Adapter<ItemAdapter.ItemViewHolder>() {
class ItemViewHolder(val textView: TextView) : RecyclerView.ViewHolder(textView)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
val textView = TextView(parent.context)
textView.textSize = 24f
textView.setPadding(16, 16, 16, 16)
return ItemViewHolder(textView)
}
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
holder.textView.text = itemList[position]
}
override fun getItemCount() = itemList.size
}
7. RecyclerViewをMainActivityに設定する
最後に、MainActivityでRecyclerViewにAdapterをセットします。
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val itemList = listOf("りんご", "みかん", "バナナ", "いちご", "ぶどう")
val recyclerView = findViewById<RecyclerView>(R.id.recyclerView)
recyclerView.layoutManager = LinearLayoutManager(this)
recyclerView.adapter = ItemAdapter(itemList)
}
}
8. RecyclerViewの動きをイメージしよう
RecyclerViewは、画面に表示される数だけビューを用意し、それを上下にスクロールしながら再利用します。たとえば、5個だけ部品を作っておいて、見えなくなったらそれを再利用して次のアイテムを表示する感じです。
このようにすることで、どんなにたくさんのデータがあっても、アプリが重くなりにくくなります。
9. RecyclerViewの表示結果
実際にアプリを実行すると、画面に以下のようなリストが表示されます。
りんご
みかん
バナナ
いちご
ぶどう
10. おさらい:RecyclerViewのキーワードと役割
- Kotlin:Androidアプリを作るためのプログラミング言語
- RecyclerView:リスト表示を効率的にする部品
- Adapter:データと表示をつなぐ役割
- ViewHolder:リストの1つ1つの表示の設計図
- LinearLayoutManager:リストを縦に並べるための仕組み
これらのキーワードを理解しておくと、リスト表示の仕組みがスッキリ見えてきます。