Android   スピナー

ホーム

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

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

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

このコーナーでは、メインの Kotlin ファイルと、文字列のための XML ファイルの掲載が 中心になるのではないかと思います。よろしくお願いいたします。

はじめに

ここからは、Java SDK と Kotlin と Android Studio がインストールされていて、 新規プロジェクトが作成でき、View パーツの簡単なレイアウトができるところから はじめます。


スピナー

スピナーをタップすると、プルダウンメニューが現れ、選択した項目がテキストビューに 表示されます。 プロジェクトのテンプレートは Empty Activity です。


MainActivity.kt


package com.example.sense4

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.AdapterView
import android.widget.ArrayAdapter
import android.widget.Spinner
import android.widget.TextView

class MainActivity : AppCompatActivity() {
    private val platforms by lazy { arrayOf ("Android", "iOS", "Windows", "macOS", "Linux")}
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val textview: TextView = findViewById(R.id.textview)
        val spinner: Spinner = findViewById(R.id.spinner)
        val adapter = ArrayAdapter(applicationContext,
            android.R.layout.simple_spinner_item, platforms)
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
        spinner.adapter = adapter
        spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
            override fun onItemSelected(parent: AdapterView<*>?,
                                        view: View?, position: Int, id: Long) {
                val spinnerParent = parent as Spinner
                val item = spinnerParent.selectedItem as String
                textview.text = item
            }
            override fun onNothingSelected(parent: AdapterView<*>?) = Unit
        }
    }
}
    


strings.xml


<resources>
    <string name="app_name">Spinner</string>
    <string name="textview">Android</string>
</resources>
    


activity_main.xml


<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="32dp"
        android:text="@string/textview"
        android:textSize="20sp"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Spinner
        android:id="@+id/spinner"
        android:layout_width="409dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="32dp"
        android:minHeight="48dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textview"
        tools:ignore="SpeakableTextPresentCheck" />

</androidx.constraintlayout.widget.ConstraintLayout>
    


実行結果

Android 11




14010 visits
Posted: Oct. 08, 2021
Update: Oct. 08, 2021

ホーム   目次