Android   リストビュー

ホーム

Android プログラミングを始めました。

開発環境としては、最も標準的な Android Studio と Kotlin を使うことにしました。

Android Studio のインストールや使い方の説明を始めるとスクリーンショット だらけになりますので、そこは、他のサイトを参照してください。

このコーナーでは、ビューパーツを特定する ViewBinding のための build.gradleファイルと、文字列のための XML ファイルと、 レイアウトのための XML ファイルと、メインの Kotlin ファイルの掲載が中心になります。

リストビュー

リストビューは項目の一覧を表示するビューです。画面をスクロールして、 すべての項目を表示することができます。Empty Activity テンプレートで ListView という プロジェクトを作っています。


build.gradle

Gradle Scripts/build.gradle (Module: ListView.app)

Android プログラミングでビューバーツを特定する最新の方法 View Binding を有効にするために、build.gradle の android グループに viewBinding 項目を追加します。


・・・
android {
    ・・・
    viewBinding {
        enabled = true
    }
}

dependencies {
    ・・・
	

項目を追加した後は、エディタウィンドウ上部の「Sync Now」ボタンをクリックします。

なお、dependencies グループの testImplementation 'junit:junit:4.+' を削除すると警告が消えます。


strings.xml

app/res/values/strings.xml


<resources>
    <string name="app_name">フードメニュー</string>
    <string-array name="food">
        <item>カレー</item>
        <item>カツカレー</item>
        <item>牛丼</item>
        <item>天丼</item>
        <item>かつ丼</item>
        <item>うどん</item>
        <item>そば</item>
        <item>ハンバーグ定食</item>
        <item>唐揚げ定食</item>
        <item>焼き魚定食</item>
        <item>生姜焼き定食</item>
        <item>とんかつ定食</item>
        <item>焼肉定食</item>
        <item>コロッケ定食</item>
        <item>ミンチかつ定食</item>
    </string-array>
</resources>
	


activity_main.xml

app/res/layout/activity_main.xml


<?xml version="1.0" encoding="utf-8"?>
<ListView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/listview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:entries="@array/food"/>
    


MainActivity.kt

app/java/com.example.listview/MainActivity


package com.example.listview

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.AdapterView
import android.widget.Toast
import com.example.listview.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {
    private lateinit var binding: ActivityMainBinding
    
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)

        binding.listview.onItemClickListener = ListItemClickListener()
    }

    private inner class ListItemClickListener: AdapterView.OnItemClickListener {
        override fun onItemClick(parent: AdapterView<*>, view: View,
                                 position: Int, id: Long) {
            val item = parent.getItemAtPosition(position) as String
            val show = item + "をご注文ですね。\nありがとうございます。"
            Toast.makeText(this@MainActivity, show,
            Toast.LENGTH_LONG).show()
        }
    }
}
    


実行結果

画面を上下にスクロールすると隠れていた項目も表示されます。どれかの項目をタップすると 画面下部にダイアログが数秒間表示されます。




14157 visits
Posted: Oct. 06, 2021
Update: Dec. 07, 2021

ホーム   目次