Android プログラミングを始めました。
開発環境としては、最も標準的な Android Studio と Kotlin を使うことにしました。
Android Studio のインストールや使い方の説明を始めるとスクリーンショット だらけになりますので、そこは、他のサイトを参照してください。
このコーナーでは、ビューパーツを特定する ViewBinding のための build.gradleファイルと、文字列のための XML ファイルと、 レイアウトのための XML ファイルと、メインの Kotlin ファイルの掲載が中心になります。
リストビューは項目の一覧を表示するビューです。画面をスクロールして、 すべての項目を表示することができます。Empty Activity テンプレートで ListView という プロジェクトを作っています。
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.+' を削除すると警告が消えます。
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>
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"/>
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()
}
}
}
画面を上下にスクロールすると隠れていた項目も表示されます。どれかの項目をタップすると 画面下部にダイアログが数秒間表示されます。