【Kotlin】ListViewの使い方 ③画像とテキストを表示する

Sara

この記事では「画像とテキストを表示する ListView の作成方法」を紹介しています。

テキストを表示するだけリストを作成する場合はこちらをお読みください。

Java のコードはこちら

開発環境

ListViewSample というプロジェクトを作成して、MainActivity.kt と activity_main.xml がある状態で進めていきます。

Android StudioBumblebee 2021.2.1
Android EmulatorNexus 4 (API 32)
minSdk16
targetSdk32

ListView の作成方法

1. 画像の用意

まずはリストに表示する画像をプロジェクトに置きます。

Android Studio 画面左側にある Resources Manager を開いて、画像をドラッグ&ドロップで置きます。

Next を押します。

Import を押します。

drawable フォルダに画像がセットされていれば完了です。

2. ListView ウィジェットの用意

activity_main.xml に ListView を用意して id 属性を指定します。(10行目)

3. 項目のレイアウトを作成

テキストを表示するだけの場合は、標準で用意されているレイアウト(android.R.layout.simple_list_item_1 や android.R.layout.simple_list_item_2)を使うことができますが、今回は画像も表示したいので自分でレイアウトを用意します。

app → res → layout フォルダの上で右クリックして、New → Layout Resource File を選択します。

File name: に list_item と入力して OK を押します。

list_item.xml が作成されたら以下のようにレイアウトを用意します。

このようなレイアウトになります。

文字サイズやパディングは自由に変更してください。

id 属性値も何でも良いですが、このあと用意する Map データのキーと合わせておくと分かりやすくなります。

4. ListView に表示する

MainAvtivity.kt では SimpleAdapter を使って ListView にデータをセットします。

7 行目

あとで項目に変更を加える場合は mutableListOf に変更します。

23 行目

レイアウトは先ほど作成した list_item.xml を使います。

24・25 行目

Map のキーとレイアウト(list_item.xml)に書いた id を紐づけます。

以上で完成です。

項目の追加・削除とクリックイベント

テキストを2つ表示するサンプル と同じ書き方をすることができます。

関連記事

Subscribe
Notify of
0 Comments
古い順
新しい順 人気順
Inline Feedbacks
View all comments
ABOUT ME
Sara
Sara
運営者
書籍やオンライン講座でプログラミングを勉強してフリーランスのプログラマーになりました。
このサイトでは「わかりやすく・シンプル」をモットーに、プログラミングの基礎からアプリ開発まで紹介します。
独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています。
主な使用言語:Java / Kotlin / PHP
>> 詳しいプロフィール
>> お問い合わせ
>> 書籍を出版しました!
本格的に学びたい方へ

Code for Fun プログラミング講座

POINT 01

動くコード

プログラミングの文法を学んでも、そこからどのようにアプリ開発ができるのかイメージが湧きにくいものです。

Code for Fun のプログラミング講座では、ゲームやカレンダーなどアプリとして機能するものを作りながらプログラミングを学ぶことができます。

POINT 02

自分のペースで

オンライン講座なので、ご自身のペースで学習を進めて頂けます。

受講期限もないので、いつでも前のレッスンに戻ることができるので安心です。

お申し込みしたその日からすぐに始めることができます。

POINT 03

個別サポート

プログラミング学習では、エラーが起きることはよくあります。そんな時はお気軽にお問い合わせください!

コメント欄またはメールによるサポートを回数無制限でご利用頂けます。(*講座に関連するご質問のみ対応)

今すぐ無料でお試し

0
この記事にコメントするx
記事URLをコピーしました